Usted ya lo sabe; 4D View Pro le permite cargar y mostrar fácilmente datos en hojas de cálculo.
4D v19 R6 trae novedades interesantes. Esta entrada del blog le mostrará la nueva función de tabla que le permite hacer mucho más y beneficiarse de propiedades adicionales como encabezados, redimensionamiento de la tabla, fila de resumen, ordenación de columnas, filtros y más. También descubrirás cómo cargar rápidamente los datos de las clases y colecciones de datos. Y no te pierdas la demostración, que ofrece un ejemplo completo y algunos gráficos visuales como extra.
Hay dos maneras de crear una tabla:
- Crea una tabla vacía y rellénala celda por celda con los comandos existentes como VP SET VALUES o VP SET VALUE
- Crear una tabla automáticamente a partir de una colección contenida en el contexto de datos.
Saluda a VP CREATE TABLE
rellenar manualmente una tabla
En primer lugar, necesitas crear una tabla sin fuente. Utiliza el comando new VP CREATE TABLE y pásale como parámetro el rango donde debe aparecer la tabla:
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 4); "EmptyTable")
Crea una tabla vacía con columnas de nombre por defecto:
Ahora sólo tenemos que rellenar nuestra tabla con la ayuda del comando VP SET VALUES comando:
$data:=New collection
// Titles
$data.push(New collection("First Name"; "Last Name"; "Score"))
// Data
$data.push(New collection("Andrea"; "Butterfield"; "70"))
$data.push(New collection("Faye"; "Back"; "100"))
$data.push(New collection("Shane"; "Frazier"; "50"))
VP SET VALUES(VP Cell("ViewProArea"; 1; 1); $data)
La tabla se rellena ahora con los valores presentes en la colección:
Ahora puede filtrar u ordenar la tabla fácilmente:
Rellenar una tabla desde el contexto de datos
Para mostrar una selección de entidades como una tabla
debe convertir su selección de entidades en una colección y añadirla a su contexto de datos de la hoja, definir las columnas y crear su tabla.
En primer lugar, debe crear un contexto de datos que contenga una colección de los datos que necesita mostrar. En el ejemplo siguiente, leemos los datos de una base de datos y los convertimos en una colección, luego los encapsulamos en un objeto:
$p:=ds.People.all().toCollection()
$data:=New object
$data.people:=$p
VP SET DATA CONTEXT("ViewProArea"; $data)
Ahora que el contexto de datos está creado, definimos qué columnas mostrar:
$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "First name"; "dataField"; "Firstname"))
$parameter.tableColumns.push(New object("name"; "Last name"; "dataField"; "Lastname"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Birthday"; "dataField"; "Birthday"; "formatter"; "dddd dd MMMM yyyy"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))
Sólo nos queda utilizar el comando VP CREATE TABLE indicando que queremos mostrar la colección contenida en el atributo people del contexto de datos:
// Table creation
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; $parameter.tableColumns.length; 1); "ContextTable"; "people"; $parameter)
// Automatic column sizing
VP COLUMN AUTOFIT(VP Column($area; 0; 4))
Mira el IDH de arriba para ver estos comandos en acción. Además, asegúrese de leer la documentación para obtener más detalles.