Diseño de cuadrícula
El diseño de cuadrícula le permite posicionar campos en una cuadrícula CSS dentro de un grupo, permitiendo diseños de formularios de múltiples columnas.
La función Diseño de cuadrícula le permite organizar preguntas en una cuadrícula de múltiples columnas dentro de un grupo, usando la etiqueta de apariencia gridformat<>. Esto es útil para formularios de entrada de datos densos donde múltiples campos relacionados deben aparecer uno al lado del otro en lugar de apilados verticalmente.
Cómo funciona
El diseño de cuadrícula se aplica en dos niveles:
- El grupo — establezca
appearance: field-list grid(weight=N)para definir cuántas columnas tiene la cuadrícula - Cada campo dentro del grupo — establezca
appearance: gridformat<row=R col=C colspan=S/>para posicionar el campo
La cuadrícula utiliza un sistema de 12 columnas estilo Bootstrap. weight=N define cuántas columnas lógicas tiene su cuadrícula; cada columna ocupa 12/N columnas Bootstrap.
Apariencia a nivel de grupo
| Apariencia | Descripción |
|---|---|
field-list grid(weight=2) | Cuadrícula de 2 columnas (cada columna = 6 columnas Bootstrap) |
field-list grid(weight=3) | Cuadrícula de 3 columnas (cada columna = 4 columnas Bootstrap) |
field-list grid(weight=4) | Cuadrícula de 4 columnas (cada columna = 3 columnas Bootstrap) |
field-list grid(weight=6) | Cuadrícula de 6 columnas (cada columna = 2 columnas Bootstrap) |
Sintaxis de gridformat<> a nivel de campo
gridformat<row=R col=C colspan=S/>
gridformat<row=R col=C colspan=S backgroundcolor=COLOR/>
| Atributo | Descripción |
|---|---|
row | Número de fila (basado en 1) |
col | Número de columna (basado en 1, dentro de la cuadrícula definida por weight) |
colspan | Número de columnas que abarca este campo (predeterminado 1) |
backgroundcolor | Color CSS opcional para el fondo del campo (p. ej., #f0f0f0, lightblue) |
Ejemplo: Sección de encuesta de hogar de 2 columnas
| type | name | label | appearance |
|---|---|---|---|
| begin_group | demographics | Datos demográficos | field-list grid(weight=2) |
| text | first_name | Nombre | gridformat<row=1 col=1/> |
| text | last_name | Apellido | gridformat<row=1 col=2/> |
| integer | age | Edad | gridformat<row=2 col=1/> |
| select_one gender | gender | Género | gridformat<row=2 col=2/> |
| text | address | Dirección completa | gridformat<row=3 col=1 colspan=2/> |
| end_group |
Esto se renderiza como:
[ Nombre ] [ Apellido ]
[ Edad ] [ Género ]
[ Dirección completa (abarca ambas columnas) ]
Ejemplo: Entrada de datos de parcela de 3 columnas
| type | name | label | appearance |
|---|---|---|---|
| begin_group | plot_data | Detalles de la parcela | field-list grid(weight=3) |
| text | plot_id | ID de parcela | gridformat<row=1 col=1/> |
| decimal | area_ha | Área (ha) | gridformat<row=1 col=2/> |
| select_one crop_type | crop | Tipo de cultivo | gridformat<row=1 col=3/> |
| decimal | yield | Rendimiento (kg) | gridformat<row=2 col=1/> |
| decimal | revenue | Ingresos | gridformat<row=2 col=2/> |
| text | notes | Notas | gridformat<row=2 col=3/> |
| end_group |
Colores de fondo
Use backgroundcolor para distinguir visualmente las secciones:
| type | name | label | appearance |
|---|---|---|---|
| note | section_a | Sección A | gridformat<row=1 col=1 colspan=2 backgroundcolor=#e8f4f8/> |
Mejores prácticas
- Use el diseño de cuadrícula solo para pantallas de entrada de datos intensiva donde los campos lado a lado reduzcan genuinamente el desplazamiento.
- Mantenga los campos
colspan=1cortos (IDs, códigos, selecciones breves); las etiquetas largas se truncan mal en columnas de cuadrícula estrechas. - Use
colspan=Npara campos con etiquetas largas o entradas de texto de varias líneas. - Pruebe en el tamaño de pantalla más pequeño que espera que usen los encuestadores; una cuadrícula de 4 columnas es estrecha en un teléfono.
- El diseño de cuadrícula funciona mejor en factores de forma web y tableta; en teléfonos móviles, un diseño de 2 columnas suele ser el máximo cómodo.
Limitaciones
gridformat<>solo funciona dentro de un grupo con aparienciagrid(weight=N); no tiene efecto en el nivel superior.- El diseño de cuadrícula es una extensión de formulario web de rtSurvey y puede no renderizarse correctamente en otros clientes compatibles con ODK.
- El posicionamiento de filas y columnas no se valida en el momento de construcción del formulario; los campos superpuestos se renderizarán ambos pero pueden verse mal.