4D View Pro: Rellene sus hojas con un contexto de datos

Traducido automáticamente de Deepl

4D View Pro le ofrece una nueva forma de cargar sus datos y crear sus plantillas: el contexto de datos. Le permite crear su documento con marcadores de posición y rellenarlos estableciendo este contexto de datos.

Con sólo unas pocas líneas de código, puede mostrar objetos o colecciones sin autorizarlos primero con VP SET CUSTOM FUNCTION¡! Profundicemos en los detalles.

Contexto de datos de HDI 4DVP

Crear un documento con marcadores de posición

En primer lugar, necesitas crear un documento con los atributos de tu objeto. Por ejemplo, si utiliza un objeto con 2 atributos, Nombre y Apellido, puede crear dos marcadores de posición con el VP SET BINDING PATH :

VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "Firstname")
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 1); "Lastname")

No aparecen valores en su hoja porque el contexto de datos aún no está definido. Para comprobar que sus celdas están correctamente vinculadas, vaya a la pestaña DATOS de la interfaz de la cinta de opciones y haga clic en el botón Vinculación de la hoja. Los nombres de sus atributos aparecerán entre paréntesis:

Contexto de datos

Ahora que su plantilla está lista, sólo tiene que establecer su contexto de datos con su objeto utilizando VP SET DATA CONTEXT:

$object:=New object
$object.Firstname:="John"
$object.Lastname:="Smith"
VP SET DATA CONTEXT("ViewProArea"; $object)

Así, la plantilla se actualiza automáticamente:

blank

Por supuesto, el usuario puede modificar los datos:

blank

En este caso, no hay problema; simplemente usa el método VP Get data context para recuperar tu objeto con las modificaciones:

$object:=VP Get data context("ViewProArea")

//$object={Firstname:Judith,Lastname:Smith}

Inyección de datos en la hojaS

Si pasas una colección a tu contexto de datos, esta colección se vinculará automáticamente a la hoja. Si la opción autoGenerateColumns del comando VP SET DATA CONTEXT se establece como verdadera, la colección se muestra automáticamente en la hoja.

Por ejemplo, si quieres mostrar una tabla de la base de datos, sólo tienes que escribir:

$people:=ds.People.all().toCollection()

VP SET DATA CONTEXT("ViewProArea"; $people; New object("autoGenerateColumns"; True)

Se obtiene:

blank

El número de columnas y filas se calcula automáticamente, y los nombres de las columnas son los nombres de los campos de la tabla.

Tenga en cuenta que si autoGenerateColumns no está configurado como verdadero, ¡no se mostrará ningún dato!

Vea 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.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.