Administrator

Dropdown

Sådan opsætter du dropdowns på formularer

18 min

I dette indlægIn this postIn diesem Beitrag

I dropdowns har du mulighed for enten at hente data fra andre tabeller i databasen eller at indtaste data således, at brugeren
kun kan vælge mellem på forhånd fastdefinerede værdier. 

 

Se også

Mere om Indtast data

Hent data

Ved felttypen dropdown, hvor du gerne vil vælge mellem værdier fra en tabel i databasen, sættes felttypen til Hent data.

Det vil ofte være oplysninger om brugere eller grupper fra D4InfoNet eller værdier fra andre GenericForms-tabeller/formularsæt, der hentes.

Ved at klikke på Rediger ud for Hent data, er det muligt at definere den relevante tabel. Øverst vises de tabeller, som der tidligere har brugt ved formularudarbejdelse.

De oftest benyttede tabeller er følgende:

Data, der vises på lister, hentes fra tabeller valgt på Masterformularen. Derfor bør du på Masterformularen benytte tabeller, der ikke er afgrænsede. Dvs. du skal altid vælge tabeller med alle brugere eller grupper og uden begrænsning på visningen.

Tabeller, der vælges på Masterformularen, nedarves altid til de afledte formularer.

På de enkelte afledte formularer, hvor du kan redigere i felterne, kan du afgrænse dropdowns. Du kan fx vælge data fra en begrænset tabel og evt. med en yderligere begrænsning direkte på feltet.

Se også

Hvis feltet kun skal vise brugere fra en enkelt afdeling, eller grupper af en specifik type, bør du kun afgrænse dropdown på de formularer, hvor du kan ændre i feltet. I de formularer, hvor du ikke kan ændre i feltet (feltet er disabled), bør du vælge tabeller, der indeholder alle brugere/grupper. På denne måde sikrer du, at du bevarer historikken på allerede oprettede registreringer, når gruppemedlemsskaber ændres i D4InfoNet eller brugere fratræder og inaktiveres i D4InfoNet.

Dropdown egenskaber (listboks)

Klik på Rediger ud for Hent data for det felt, der skal sættes op.

I Listboks egenskaber angives, hvilken tabel og hvilke felter der skal hentes.

Element Refererer til feltnavn.
Tabelnavn Refererer til den tabel, du ønsker at anvende, dvs. hvor feltet skal hente informationer fra.

Når du har valgt en tabel, skal der tages stilling til følgende:

Værdifelt Refererer til den værdi, som skal gemmes i databasen for det givne felt. For brugere og grupper gemmes som hovedregel altid ID på brugeren eller gruppen.
Tekstfelt Refererer til det, der vises for brugerne i dropdown på formularen. Fx skal brugeren se sit eget navn i feltet og ikke ID’et, som er det der gemmes jf. Værdifelt ovenfor.
Bruger Hvis tabellen indeholder en reference til den aktuelle bruger, fx navn eller gruppemedlemsskab, bliver denne automatisk udfyldt, når formularen åbnes. Dog kan der vælges en anden bruger, når der ikke er sat begrænsning jf. nedenstående. Udfyldes som hovedregel aldrig på Masterformularen.
Begrænsning Her kan sættes en begrænsning på de data, der vises/kan vælges i dropdown-feltet. Fx kan du begrænse, så brugeren kun kan vælge mellem medarbejdere i en given afdeling mv. jf. afsnit 5.3.5. Udfyldes som hovedregel aldrig på Masterformularen. Det der angives i dette felt, er en WHERE-klausul til den SQL-forespørgsel, der henter data til feltet (dog udelades selve ”WHERE” teksten i feltet).
Sortering Her kan du vælge, hvordan dropdown-mulighederne skal sorteres. Hvis du ønsker faldende sortering, skal du vinge af i feltet Faldende sortering nedenfor.
Standardtekst Hvis du angiver tekst her, vil denne tekst vises i dropdown-feltet for brugeren i stedet for fx Vælg Afdeling, hvor det som standard er ledeteksten for feltet, der benyttes.
Vælg enkeltstående option Hvis der kun er én valgmulighed i feltet, kan du vælge, om den skal vælges som default. Hvis feltet er required, vil den enkelte mulighed dog altid blive valgt default.

Masterformularen bruger

Tabelnavn På Masterformularen bruges tabellen usrAPIGetAllAUsereTotal. Denne indeholder både aktive og ikke aktive brugere samt brugere, der endnu ikke er medlem af nogen grupper
Værdifelt Vælg UserID, for at gemme ID på brugeren
Tekstfelt Vælg UserFullNameIni, for at vise vist hele brugerens navn samt muligheden for at søge på brugers initialer
Bruger Sættes ikke op på Masterformularen
Begrænsning Sættes ikke op på Masterformularen
Sortering Vælges ud fra UserFullNameIni

Afledt formular bruger

I dette eksempel er feltet ikke default-udfyldt. Det kan fx være at brugeren skal vælge, hvem registreringen skal sendes videre til.

Tabelnavn På de formularer hvor feltet enten skal udfyldes eller redigeres vælges at hente data fra tabellen med kun aktive brugere. Fx CDX_AktiveBrugere (husk brugeren skal være medlem af minimum én gruppe når denne tabel benyttes), ellers vælges UsrAPIGetAllUsers
Værdifelt Vælg UserID for at gemme ID på brugeren
Tekstfelt Vælg UserFullName for at vise hele navnet på brugeren i feltet

Der kan på de afledte formularer sættes begænsninger, hvorved der automatisk vises en specifikværdi eller begrænse værdier ud fra en forespørgsel.

Masterformularen gruppe

Tabelnavn Vælg at hente data fra en tabel indeholdende alle grupper; både grupper med og uden tilknyttede medlemmer. Her vælges tabellen usrAPIGetUserGroups
Værdifelt Vælg UserGroupID for at gemme ID på gruppen
Tekstfelt Vælg UserGroupName for at vise gruppens navn på formularen
Bruger Sættes ikke op på Masterformularen
Begrænsning Sættes ikke op på Masterformularen
Sortering Vælg UserGroupName

Afledt formular gruppe

På de formularer, hvor feltet enten skal udfyldes eller redigeres, vælger du at begrænse mulighederne for valg af grupper

Tabelnavn Skal du kunne vælge mellem alle registrerede afdelinger, kan du beholde opsætningen fra Masterformularen og benytte tabellen usrAPIGetUserGroups, eller du kan vælge tabellen UserGroup. Hvis du kun ønsker at vælge mellem afdelinger med mindst én aktiv bruger tilknyttet, vælges tabellen CDX_AktiveBrugere
Værdifelt Vælg UserGroupID for at gemme ID på gruppen
Tekstfelt Vælg UserGroupName for at vise hele navnet på gruppen i feltet

Masterformularen Indtast data

Hvis dropdown skal indeholde prædefinerede valgmuligheder, sættes værdifeltet til Indtast data. Indtast data benyttes, hvis du har en forholdsvis statisk liste af værdier, hvor der måske tilføjes en værdi engang i mellem.

Hvis dine værdier ændres ofte, hvor værdier fjernes og nye kommer til, bør du i stedet oprette et separat formularsæt til vedligeholdelse af disse værdier, og hente dem ind i feltet i stedet for, dvs. benyt Hent data.

I dialogboksen Listboks egenskaber indtastes de data, brugeren skal kunne vælge imellem. I boksen angiver du en Værdi og en Tekst.

Værdi Gemmes i databasen. Benyt ikke 0 her, da værdi så vil blive valgt pr. automatik, hvis der ikke vælges noget andet i feltet. Den røde farve i værdifeltet ved nye valgmuligheder indikerer, at der mangler at blive angivet en valid værdi.
Tekst Vises i dropdown på formularen og på listerne.

De indtastede værdier skal kun vedligeholdes på Masterformularen. Hvis du vil tilføje en ny værdi senere, tilføjes denne kun på Masterformularen, og den vil så være tilgængelig på de afledte formularer.

Afledt formular Indtast data

Alle værdifelter af typen Indtast data, ændres til Hent data. Dette gøres, for at du kun skal vedligeholde de indtastede værdier på Masterformularen og ikke på alle de afledte formularer.

Når du vælger Hent data i stedet for Indtast data, vil systemet spørge, om der skal hentes værdier fra databasen. Klik OK, og værdierne hentes nu fra Masterformularen.

Masterformularen Hent data andre tabeller

Hvis dine værdier ændres ofte, hvor værdier fjernes og nye kommer til, bør du i stedet oprette et separat formularsæt til vedligeholdelse af disse værdier, og hente dem ind i feltet i stedet for, dvs. benyt Hent data.

Du kan med fordel på de afledte formularer begrænse til at se på data på en specifik liste.

Brug for hjælp?

Skriv til os eller ring på +45 4590 3150

Telefonen er åben:
Man-tors kl. 9.00-16.00
Fre kl. 9.00-15.30

Need help?

Write to us call us on +45 4590 3150

Phone lines are open:
Mon–Thu: 9:00 – 16:00
Fri: 9:00 – 15:30

Benötigen Sie Hilfe?

Schreiben Sie uns oder rufen Sie uns unter +45 4590 3150 an.

Unsere Telefonzeiten:
Mo–Do: 9:00–16:00 Uhr
Fr: 9:00–15:30 Uhr

18 min

I dette indlægIn this postIn diesem Beitrag
3 min
Administrator
Sådan sletter du et helt formularsæt
13 min
Administrator
Se hvordan du kan begrænse værdier i dropdowns