On this page
manage_search
Grid-layout
Grid-layout giver dig mulighed for at placere felter i et CSS-grid inden for en gruppe, hvilket muliggør formulardesign med flere kolonner.
Funktionen Grid-layout giver dig mulighed for at arrangere spørgsmål i et flerspaltet grid inden for en gruppe ved hjælp af appearance-tagget gridformat<>. Dette er nyttigt til intensive dataindtastningsformularer, hvor flere relaterede felter bør vises side om side i stedet for stablet lodret.
Sådan fungerer det
Grid-layout anvendes på to niveauer:
- Gruppen — angiv
appearance: field-list grid(weight=N)for at definere, hvor mange kolonner griddet har - Hvert felt inde i gruppen — angiv
appearance: gridformat<row=R col=C colspan=S/>for at placere feltet
Griddet bruger et 12-kolonners Bootstrap-lignende system. weight=N definerer, hvor mange logiske kolonner dit grid har; hver kolonne optager 12/N Bootstrap-kolonner.
Appearance på gruppeniveau
| Appearance | Beskrivelse |
|---|---|
field-list grid(weight=2) | 2-kolonne grid (hver kolonne = 6 Bootstrap-kol.) |
field-list grid(weight=3) | 3-kolonne grid (hver kolonne = 4 Bootstrap-kol.) |
field-list grid(weight=4) | 4-kolonne grid (hver kolonne = 3 Bootstrap-kol.) |
field-list grid(weight=6) | 6-kolonne grid (hver kolonne = 2 Bootstrap-kol.) |
gridformat<>-syntaks på feltniveau
gridformat<row=R col=C colspan=S/>
gridformat<row=R col=C colspan=S backgroundcolor=FARVE/>
| Attribut | Beskrivelse |
|---|---|
row | Rækkenummer (1-baseret) |
col | Kolonnenummer (1-baseret, inden for det grid defineret af weight) |
colspan | Antal kolonner, dette felt strækker sig over (standard 1) |
backgroundcolor | Valgfri CSS-farve til feltbaggrunden (f.eks. #f0f0f0, lightblue) |
Eksempel: 2-kolonne husholdningsundersøgelsessektion
| type | name | label | appearance |
|---|---|---|---|
| begin_group | demographics | Demografidata | field-list grid(weight=2) |
| text | first_name | Fornavn | gridformat<row=1 col=1/> |
| text | last_name | Efternavn | gridformat<row=1 col=2/> |
| integer | age | Alder | gridformat<row=2 col=1/> |
| select_one gender | gender | Køn | gridformat<row=2 col=2/> |
| text | address | Fuld adresse | gridformat<row=3 col=1 colspan=2/> |
| end_group |
Dette gengives som:
[ Fornavn ] [ Efternavn ]
[ Alder ] [ Køn ]
[ Fuld adresse (strækker sig over begge kolonner) ]
Eksempel: 3-kolonne plotdataindtastning
| type | name | label | appearance |
|---|---|---|---|
| begin_group | plot_data | Plotdetaljer | field-list grid(weight=3) |
| text | plot_id | Plot-ID | gridformat<row=1 col=1/> |
| decimal | area_ha | Areal (ha) | gridformat<row=1 col=2/> |
| select_one crop_type | crop | Afgrødetype | gridformat<row=1 col=3/> |
| decimal | yield | Udbytte (kg) | gridformat<row=2 col=1/> |
| decimal | revenue | Omsætning | gridformat<row=2 col=2/> |
| text | notes | Noter | gridformat<row=2 col=3/> |
| end_group |
Baggrundsfarver
Brug backgroundcolor til visuelt at skelne sektioner:
| type | name | label | appearance |
|---|---|---|---|
| note | section_a | Sektion A | gridformat<row=1 col=1 colspan=2 backgroundcolor=#e8f4f8/> |
Bedste praksis
- Brug grid-layout kun til dataindtastningsintensive skærme, hvor felter side om side rent faktisk reducerer scrolling.
- Hold
colspan=1-felter korte (ID’er, koder, korte valg) — brede labels afskæres dårligt i smalle grid-kolonner. - Brug
colspan=Ntil felter med lange labels eller flerlinjetekstinputs. - Test på den mindste skærmstørrelse, du forventer at interviewerne bruger — et 4-kolonne grid er trangt på en telefon.
- Grid-layout fungerer bedst på web- og tablet-formfaktorer; på mobiltelefoner er et 2-kolonne layout normalt den maksimale komfortable bredde.
Begrænsninger
gridformat<>fungerer kun inden for en gruppe medgrid(weight=N)appearance — det har ingen effekt på øverste niveau.- Grid-layout er en rtSurvey-webformularudvidelse og gengives muligvis ikke korrekt i andre ODK-kompatible klienter.
- Række- og kolonneplacering valideres ikke ved formularopbygningstidspunktet — overlappende felter gengives begge, men kan se ødelagte ud.
Var denne side nyttig?