4D View Pro : Remplissez vos feuilles avec un contexte de données

Traduit automatiquement de Deepl

4D View Pro vous offre une nouvelle façon de charger vos données et de créer vos modèles : le contexte de données. Il vous permet de créer votre document avec des espaces réservés et de les remplir en définissant ce contexte de données.

Avec seulement quelques lignes de code, vous pouvez afficher des objets ou des collections sans les autoriser d’abord avec VP SET CUSTOM FUNCTION! Entrons dans les détails.

Contexte de données HDI 4DVP

Créer un document avec des espaces réservés

Tout d’abord, vous devez créer un document avec les attributs de votre objet. Par exemple, si vous utilisez un objet avec 2 attributs, Firstname et Lastname, vous pouvez créer deux placeholders avec la commande VP SET BINDING PATH pour créer deux espaces réservés :

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

Aucune valeur n’apparaît dans votre feuille car le contexte de données n’est pas encore défini. Pour vérifier que vos cellules sont correctement liées, allez dans l’onglet DONNÉES de l’interface du ruban et cliquez sur le bouton Liaison de feuille. Le nom de vos attributs apparaîtra entre parenthèses :

Contexte des données

Maintenant que votre modèle est prêt, il suffit de définir votre contexte de données avec votre objet en utilisant VP SET DATA CONTEXT:

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

Le modèle est donc mis à jour automatiquement :

blank

Bien sûr, l’utilisateur peut modifier les données :

blank

Dans ce cas, pas de problème, il suffit d’utiliser la méthode VP Get data context pour récupérer votre objet avec les modifications :

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

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

Injection de données dans les feuillesS

Si vous passez une collection à votre contexte de données, cette collection sera automatiquement liée à la feuille. Si l’option autoGenerateColumns de la commande VP SET DATA CONTEXT est définie à true, la collection est automatiquement affichée dans la feuille.

Par exemple, si vous voulez afficher une table de base de données, il suffit d’écrire :

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

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

Vous obtenez :

blank

Le nombre de colonnes et de lignes est calculé automatiquement, et les noms des colonnes sont les noms des champs de la table.

Notez que si autoGenerateColumns n’a pas la valeur true, aucune donnée n’est affichée !

Consultez l’IDH ci-dessus pour voir ces commandes en action. N’oubliez pas non plus de lire la documentation pour plus de détails !

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.