But


Ce composant sert à la sortie et à la création de données sous une forme hiérarchique (arborescence). Un exemple de données hiérarchiques est la structure d'une entreprise.



Description

L'utilisation du composant, à bien des égards, est similaire à l'utilisation du composant ComboBox. Pour utiliser le composant TreeView, vous devez créer une table distincte et une clé étrangère dans une autre table de base de données, qui stockera la sélection de l'utilisateur. Pour utiliser ce composant, vous devez également créer un champ supplémentaire dans la table de base de données (Parent ID), le champ est obligatoire pour la formation des enregistrements dans une hiérarchie, il stocke automatiquement l'identifiant de l'enregistrement parent.


Regardons un exemple où un employé peut se voir attribuer un poste à l'aide du composant TreeView.

La structure de la base de données de cet exemple:




Le formulaire de création / modification d'un enregistrement, dans lequel vous pouvez sélectionner un poste pour l'employé, ressemblera à ceci:




Le composant TreeView est configuré comme suit :


1. Sélectionnez une clé externe *, qui enregistrera la sélection de l'utilisateur, tout comme elle est enregistrée dans le composant ComboBox. Vous devez également sélectionner le champ de type "INTEGER", qui sauvegardera automatiquement l'identifiant, indiquant l'enregistrement parent. Il s'agit du champ utilisé par le système pour former la hiérarchie des enregistrements dans la table de base de données.

* Au lieu d'une clé étrangère, vous pouvez écrire le nom de la table, si la création d'une clé étrangère pour cette table n'est pas prévue dans la structure de la base de données. C'est à dire. au lieu de "Employees.id_OrgStructure", vous pouvez écrire "OrgStructure"


2. Choisissez les champs de la table dont nous avons besoin dans le composant.
Dans cet exemple, nous avons besoin d'un poste et d'un commentaire.

Nous donnons également des noms aux en-têtes des colonnes.

Dans les colonnes , vous pouvez définir la formule, pour calculer les totaux et l'alignement. Plus d'infos.


3. Vous pouvez filtrer les enregistrements par conditions. La syntaxe des conditions est similaire à la syntaxe du langage de requête SQL dans la section WHERE. Il est permis d'utiliser des champs calculés dans ce champ, qui doivent être de la forme: {nomtable.calculated_field_name}

Ici, vous pouvez télécharger le projet de cet exemple.