4D View Pro : Affichez vos collections sous forme de tableaux

Traduit automatiquement de Deepl

Vous le savez déjà, 4D View Pro vous permet de charger et d’afficher facilement des données dans des feuilles de calcul.
4D v19 R6 apporte des nouvelles excitantes. Ce billet de blog vous montrera la nouvelle fonctionnalité de tableau qui vous permet de faire beaucoup plus et de bénéficier de propriétés supplémentaires telles que les en-têtes, le redimensionnement du tableau, la ligne de résumé, le tri des colonnes, les filtres, et plus encore. Vous découvrirez également comment charger rapidement des données à partir de classes de données et de collections. Et ne manquez pas la démo, qui fournit un exemple complet et quelques graphiques visuels en prime.

HDI : 4DVP Créer un tableau

Il y a deux façons de créer une table :

  • Créez un tableau vide et remplissez-le cellule par cellule avec les commandes existantes comme VP SET VALUES ou VP SET VALUE
  • Créer automatiquement une table à partir d’une collection contenue dans le contexte de données.

Dites bonjour à VP CREATE TABLE

Remplir manuellement une table

Tout d’abord, vous devez créer une table sans source. Utilisez la commande new VP CREATE TABLE et passez-lui en paramètre la plage dans laquelle le tableau doit apparaître :

VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 4); "EmptyTable")

Elle crée une table vide avec des colonnes de nom par défaut :

Il ne nous reste plus qu’à remplir notre tableau à l’aide de la commande VP SET VALUES pour remplir notre tableau :

$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 table est maintenant peuplée avec les valeurs présentes dans la collection :

blank

Vous pouvez maintenant filtrer ou trier la table facilement :

blank

Peupler une table à partir du contexte de données

Pour afficher une sélection d’entités sous forme de tableau :

blank

vous devez convertir votre sélection d’entités en une collection et l’ajouter au contexte de données de votre feuille, définir les colonnes et créer votre tableau.

Tout d’abord, vous devez créer un contexte de données contenant une collection des données que vous devez afficher. Dans l’exemple ci-dessous, nous lisons les données d’une base de données et les convertissons en une collection, puis nous les encapsulons dans un objet :

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

$data:=New object
$data.people:=$p

VP SET DATA CONTEXT("ViewProArea"; $data)

Maintenant que le contexte de données est créé, nous définissons les colonnes à afficher :

$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"))

Il ne reste plus qu’à utiliser la commande VP CREATE TABLE en indiquant que nous voulons montrer la collection contenue dans l’attribut people du contexte de données:

// 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))

blank

Consultez l’IDH ci-dessus pour voir ces commandes en action. Assurez-vous également 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.