4D View Pro : Nouvelles commandes pour gérer les rangées et les colonnes

Les feuilles de calcul sont de formidables outils polyvalents. Des tableaux de bord aux interfaces utilisateur d’entrée/sortie, les feuilles de calcul fournies par 4D View Pro peuvent résoudre rapidement un grand nombre de situations rencontrées par vos utilisateurs finaux.

Nous avons expliqué précédemment l’utilisation de la fonctionnalité de tableau de 4D View Pro pour afficher et modifier des collections de données. En utilisant les tableaux 4D View Pro, vous pouvez avoir besoin d’ajouter ou de supprimer des colonnes ultérieurement, en fonction des besoins des utilisateurs finaux. Pour ce faire, à partir de 4D v19 R7, 4D View Pro dispose de plusieurs nouvelles commandes pour gérer les colonnes et les lignes de vos tableaux. Voyons comment cela fonctionne.

Gestion des tables HDI

La première étape avant d’ajouter ou de supprimer certaines colonnes est de créer une table 4D View Pro. Pour les exemples ci-dessous, nous utiliserons une table 4D View Pro qui affiche certaines données d’une table de base de données nommée « People » :

$context:=New object
$context.people:=ds.People.all().toCollection()

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

$parameter:=New object
$parameter.tableColumns:=New collection
$parameter.tableColumns.push(New object("name"; "Phone"; "dataField"; "Phone"))
$parameter.tableColumns.push(New object("name"; "Email"; "dataField"; "email"))
$parameter.tableColumns.push(New object("name"; "Country"; "dataField"; "Country"))

VP CREATE TABLE(VP Cells("ViewProArea"; 2; 1; 3; 1); "PeopleTable"; "people"; $parameter)

Insérer des colonnes dans une table

La commande VP INSERT TABLE COLUMNS vous permet d’insérer une colonne quand vous en avez besoin dans votre tableau. Par exemple, si vous souhaitez afficher 2 nouvelles colonnes avant la première colonne du tableau 4D View Pro :

VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 0; 2;vk table insert before)
// 0 indicate the first column of the table.

blank

2 colonnes vides sont maintenant ajoutées au tableau. Nous allons donc les remplir avec les champs Firstname et Lastname grâce à la commande VP SET TABLE COLUMN ATTRIBUTES:

$param:=New object
// Bind the column to the Firstname field from the datacontext
$param.dataField:="Firstname"
// Change the default name of the column to "First name"
$param.name:="First name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 0; $param)

$param:=New object
// Bind the column to the Lastname field from the datacontext
$param.dataField:="Lastname"
// Change the default name of the column to "Last name"
$param.name:="Last name"
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 1; $param)

blank

Insérer et supprimer des lignes

De la même manière, vous pouvez utiliser la commande VP INSERT TABLE ROWS pour insérer des lignes vides dans votre tableau :

VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)

blank

Rappelez-vous que VP INSERT TABLE ROWS ne fait pas qu’ajouter des éléments graphiques comme VP INSERT TABLE COLUMNS. Lorsque VP INSERT TABLE COLUMNS ajoute seulement des colonnes dans la feuille, VP INSERT TABLE ROWS ajoute des lignes dans la feuille et crée 2 nouvelles lignes dans la collection de votre contexte de données.

Dans notre exemple, si vous utilisez VP Get data contextvous obtenez votre collection de personnes avec 2 nouvelles lignes vides, people[1] et people[2] :

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

blank

Et si vous écrivez des informations dans vos cellules vides :

blank

Les attributs correspondant à vos nouvelles informations sont automatiquement ajoutés. Ici, people[1] a été rempli avec des détails :

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

blank

Si vous supprimez certaines lignes, cela fonctionne de la même manière. Par exemple, si vous supprimez toutes les lignes sauf les 2 premières, les lignes disparaîtront graphiquement et dans le contexte de données :

VP REMOVE TABLE ROWS("ViewProArea"; "contexttest"; 2; 10)

blank

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

blank

L’association entre le contexte de données et la table est donc un moyen facile de gérer vos collections dans 4D View Pro !

Découvrez cette fonctionnalité avec l’IDH ci-dessus et 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.