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.
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 :
Vous pouvez maintenant filtrer ou trier la table facilement :
Peupler une table à partir du contexte de données
Pour afficher une sélection d’entités sous forme de tableau :
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))
Consultez l’IDH ci-dessus pour voir ces commandes en action. Assurez-vous également de lire la documentation pour plus de détails !