Présentation Initialisation d'un champ Table hiérarchique Ajout ou modification de lignes dans un champ Table hiérarchique Ajout de lignes dans un champ Table hiérarchique Modification d'une ligne ou d'une colonne Reprendre la saisie dans une colonne Ajout ou suppression d'une colonne Gestion des colonnes calculées Opérations sur les lignes et les cellules Suppression d'une ligne Sélection d'une ligne Récupération d'une ligne ou d'une cellule Valeur d'une cellule de la ligne en cours Valeur d'une cellule pour une ligne spécifique Contenu de la ligne en cours Contenu d'une ligne spécifique Opérations sur l'arborescence Enrouler tous les noeuds d'un champ Table hiérarchique Dérouler tous les noeuds d'un champ Table hiérarchique Connaître le numéro de la ligne enroulée/déroulée Définir le prochain état de la ligne ajoutée Connaître et modifier les images des lignes Colonne hiérarchique de type Interrupteur Connaître le parent ou les fils d'un élément Propriétés spécifiques aux champs Table hiérarchique
Manipuler un champ Table hiérarchique par programmation (syntaxe préfixée)
Voici les principaux points de la programmation des champs Table hiérarchique. Le WLangage met à votre disposition de nombreuses fonctions permettant de gérer par programmation les champs Table hiérarchique.
Initialisation d'un champ Table hiérarchique
Pour remplir par programmation un champ Table hiérarchique, il est possible d'utiliser les fonctions suivantes :
Ajout ou modification de lignes dans un champ Table hiérarchique
Ajout de lignes dans un champ Table hiérarchique
La création d'une ligne dans un champ Table hiérarchique n'est pas automatique. Elle doit être demandée explicitement par un appel aux fonctions :
Modification d'une ligne ou d'une colonne
Le contenu des lignes et des colonnes d'un champ Table hiérarchique peut être modifié :
par l'utilisateur, en saisissant directement dans les colonnes. Les modifications sont mémorisées automatiquement dans le champ Table hiérarchique, sans programmation complémentaire. La propriété Modifié est à Vrai . par programmation :avec la fonction <Table>.Modifie ou la fonction <Table>.ModifieLigne pour modifier le contenu de la ligne en cours ou d'une ligne donnée. Par exemple : TABLEH_CLIENT . Modifie ( "PY" + TAB + "Jean" + TAB + "Nîmes" )
Remarque : Il est également possible d'utiliser directement le nom du champ Table hiérarchique :
TABLEH_CLIENT = "DURAND" + TAB + "Sophie" + TAB + "Nîmes"
COL_JOUR . Modifie ( "Mercredi" + TAB + "Vaqué" , 3 )
directement en donnant le nom de la colonne (comme pour un champ de saisie) pour modifier le contenu de la colonne. Pour modifier une colonne d'une ligne précise, il faut indiquer le numéro de la ligne (indice). Par exemple :COL_NOM [ Indice ] = NomClient
Pour modifier une colonne de la ligne en cours, il n'est pas nécessaire de préciser l'indice. Par exemple : La propriété Modifié est à Faux (elle est mise à Vrai uniquement par une saisie dans le champ Table hiérarchique). Gestion des colonnes calculées
La formule de calcul d'une colonne calculée doit être décrite dans l'événement "Affichage d'une ligne" du champ Table. Par exemple :
COL_PHT = COL_PUHT * COL_QTE
Opérations sur les lignes et les cellules
Suppression d'une ligne
La suppression d'une ligne doit être demandée explicitement à l'aide des fonctions
<Table>.Supprime et
<Table hiérarchique>.SupprimeFils .
La syntaxe utilisée pour la fonction <Table>.Supprime est : <Champ Table hiérarchique>.Supprime([<Indice>])
Si l'indice est précisé, la fonction <Table>.Supprime supprime la ligne correspondant à l'indice. Sinon, elle supprime la ligne en cours. La suppression d'une ligne du champ Table hiérarchique supprime toutes les valeurs des colonnes pour cette ligne. La syntaxe utilisée pour la fonction <Table hiérarchique>.SupprimeFils est : <Champ Table hiérarchique>.SupprimeFils(<Indice de l'élément parent>)
Tous les éléments fils de la ligne désignée par l'indice seront supprimés. Sélection d'une ligne
La sélection d'une ligne s'effectue avec la fonction
<Table>.SelectPlus .
La syntaxe utilisée est :
<Champ Table hiérarchique>.SelectPlus([, <Indice>])
Récupération d'une ligne ou d'une cellule
Le contenu d'un champ Table hiérarchique peut être récupéré :
soit la ligne entière. soit cellule par cellule. Valeur d'une cellule de la ligne en cours
Pour récupérer la valeur d'une colonne (ou cellule) de la ligne en cours, la syntaxe est la même que pour un champ de saisie simple :
Par exemple :
SI COL_QTE < 10 ALORS
Info ( "Quantité insuffisante" )
FIN
Valeur d'une cellule pour une ligne spécifique
Pour récupérer la valeur d'une colonne qui n'est pas sur la ligne en cours, il faut passer l'indice de la ligne :
<Valeur> = <Nom Colonne>[<Indice>]
Par exemple :
PrixTotal = 0
POUR Indice = 1 À TABLEH_COMMANDE . Occurrence
PrixTotal = PrixTotal + COL_PHT [ Indice ]
FIN
Contenu de la ligne en cours
Pour récupérer le contenu de la ligne en cours :
<Valeur> = <Champ Table hiérarchique>
Contenu d'une ligne spécifique
Pour récupérer le contenu de la ligne d'indice <Indice> :
<Valeur> = <Champ Table hiérarchique>[<Indice>]
Remarque : l'indice de la ligne en cours peut être connu par la fonction
<Table>.Select . Par exemple :
LigneEnCours = TABLEH_CLIENT [ 10 ]
NomClient = COL_NOM [ TABLEH_CLIENT . Select ( ) ]
LigneEnCours = TABLEH_CLIENT
Opérations sur l'arborescence
Enrouler tous les noeuds d'un champ Table hiérarchique
Pour enrouler tous les noeuds de l'arbre d'un champ Table hiérarchique, utilisez la fonction
<Table>.EnrouleTout . La syntaxe utilisée est :
<Champ Table hiérarchique>.EnrouleTout()
Dérouler tous les noeuds d'un champ Table hiérarchique
Pour dérouler tous les noeuds de l'arbre d'un champ Table hiérarchique, utilisez la fonction
<Table>.DérouleTout . La syntaxe utilisée est :
<Champ Table hiérarchique>.DérouleTout()
Connaître le numéro de la ligne enroulée/déroulée
Pour connaître le numéro de la ligne qui est enroulée ou déroulée, il suffit d'utiliser le code "Enroulé, déroulé" d'un noeud du champ Table hiérarchique :
Info ( TABLEH_TableHiérarchique [ TABLEH_TableHiérarchique ] )
Définir le prochain état de la ligne ajoutée
Il est possible de définir pour un champ Table hiérarchique l'état de la prochaine ligne qui sera ajoutée, à savoir enroulée ou déroulée. Pour cela, utilisez la propriété
Enroulé .
TABLEH_TableHiérarchique . Enroulé = Vrai
Connaître et modifier les images des lignes
Pour connaître et modifier les images des lignes d'un champ Table hiérarchique, utilisez les propriétés :
TABLEH_TableHiérarchique . ImageDéroulée = "DossierOuvert.gif"
TABLEH_TableHiérarchique . ImageEnroulée = "DossierFermé.gif"
Connaître le parent ou les fils d'un élément
Il est possible de connaître le parent ou les fils d'un élément grâce aux fonctions suivantes :
Propriétés spécifiques aux champs Table hiérarchique
Les propriétés suivantes sont spécifiques à la gestion des caractéristiques d'un champ Table hiérarchique par programmation.
AjouteFilsDifféré Permet de définir la procédure qui sera appelée pour un remplissage différé d'une branche. Enroulé Permet de connaître et définir l'état (enroulé ou déroulé) qui sera utilisé lors des prochains ajouts de lignes dans un champ Table hiérarchique. Fusion Permet de savoir si les cellules d'un champ Table hiérarchique (ou les titres de colonnes) sont fusionnées et permet de fusionner les cellules d'un champ Table hiérarchique (ou les titres de colonnes). ImageDéroulée Permet de connaître et de modifier l'image par défaut d'une ligne déroulée dans un champ Table hiérarchique. ImageEnroulée Permet de connaître et de modifier l'image par défaut d'une ligne enroulée dans un champ Table hiérarchique. Multisélection Permet de connaître et de modifier le mode de sélection d'un champ Table hiérarchique. NbFilsTotal Renvoie le nombre total de fils d'une branche d'un champ Table hiérarchique. OptionTri Permet de connaître et de modifier les options de tri définies pour une colonne d'un champ Table hiérarchique. RetraitGauche Permet de connaître ou modifier l'espace laissé à gauche du texte dans les colonnes d'un champ Table hiérarchique. RubriqueParcourue Permet de connaître et de modifier la rubrique utilisée pour le parcours automatique des champs Table hiérarchique. Taille Permet de connaître et de modifier le nombre de colonnes d'un champ Table hiérarchique. TotauxActif Permet de connaître le mode de fonctionnement des calculs automatiques pour un champ Table hiérarchique et d'interdire ou de forcer les calculs automatiques dans un champ Table hiérarchique.
Pour connaître la liste complète des propriétés du WLangage pouvant être utilisées :
Documentation également disponible pour…