@Layout
Describe la distribución de una pantalla o reporte: Label, Input, Column, DataGridView, Block, o cualquier otro Nombre(...) como control genérico. Los nombres de control pueden llevar @ opcionalmente (@Label/Label son equivalentes).
Controles con gramática propia
| Control | Sintaxis | Válido en | Descripción |
|---|---|---|---|
Label | Label(x, y, texto) | Program, Screen | Etiqueta estática en x,y. texto puede ser &Variable, "literal" o un nombre de campo suelto. x,y = 1,1 (esquina exacta) está prohibido — DDS rechaza cualquier campo ahí. |
Block | Block("Nombre")[ Label(...), ... ] | Program | Grupo nombrado e imprimible de Labels — se imprime una instancia con Print("Nombre") desde @Source. |
Input | Input("Nombre", x, y, texto, &Variable[, habilitado]) | Screen | Campo editable en x,y. "Nombre" identifica el control (se lee con CurrentInput()). &Variable es donde se guarda el valor ingresado. habilitado opcional (default true): literal, &Variable o función de retorno number (no-cero = habilitado), reevaluado antes de cada redibujado. x,y = 1,1 también prohibido. |
Column | Column(texto, variableOCampo[, Input|Hidden]) | sólo dentro de DataGridView | El 3er argumento opcional hace la columna editable (Input) o invisible (Hidden). |
DataGridView | DataGridView("Nombre", x, y, filas[, separador])[ Column(...), ... ] | Screen | Grilla nombrada en x,y mostrando filas visibles. El nombre es obligatorio y único entre Input/DataGridView. Ver DataGridView para la guía completa. |
Ejemplo (Screen)
@Layout {
@Label(1,2,&Programa)
@Label(1,70,&Fecha)
@Input("txtNroSolicitud",3,1,"Nro. Solicitud: ",&NroSolicitud,true)
@DataGridView("GridSolicitudes",6,1,8," ") [
@Column("Pais",&nPais)
@Column("Usuario",&cUsuario)
]
}
Ejemplo (Program, con Block imprimible)
@Layout {
@Block("Encabezado") [
Label(1,1,"Reporte de Ventas")
Label(2,1,&FechaHoy)
]
}
@Source {
Print("Encabezado")
}
@Layout es opcional en Program (un programa puramente batch, sin salida impresa, no la necesita) pero obligatoria en Screen. No aplica a tablas.