L4G >  Leftbox  

Afficher tout Masquer tout

Leftbox permet d'afficher une liste de gauche simple contenant les enregistrements d'une table, et la sélection de plusieurs éléments

 

Syntaxe

Leftboxcl_table  boite  Liste_champ
Sizeddimension  [ Titled  titre_boite ] [ Atposition ] Asabrev

 

Paramètres

Elément

Description

Restrictions

cl_table

Abréviation d'une table ouverte

la table doit déjà être ouverte

boite

Identifiant de la boite de picking sous la forme :
- nom de la boite de picking

spacer.gif (822 octets)

liste_champ

Liste des champs séparés par le caractère ','.
La définition d'un champ s'exprime sous la forme :
Champ [ Titled titre_champ ]

spacer.gif (822 octets)

champ

Identifiant d'un champ sous la forme suivante :
- nom de variable
- expression alphanumérique

le champ doit exister

titre_champ

Expression alphanumérique du titre du champ

spacer.gif (822 octets)

dimension

Taille de la boîte de sélection à l'écran sous la forme :
'('
nb_lig  ','  nb_col ')'

Cette position ne doit pas être en dehors des limites de l'écran.

nb_lig

Expression entière donnant  un nombre de lignes
exprimé en 1/8 de ligne.

spacer.gif (822 octets)

nb_col

Expression entière donnant un nombre  de colonnes
exprimé en 1/4 de colonne.

spacer.gif (822 octets)

titre_boite

Expression alphanumérique du titre de la boite

spacer.gif (822 octets)

position

Position de la boite de picking à l'écran sous la forme :
'('
exp_lig ',' exp_col ')' '

Cette position ne doit pas être en dehors de l'écran.

exp_lig

Expression numérique du numéro de ligne à l'écran, à partir duquel sera affichée la boite de picking.
exprimé en 1/8 de ligne

spacer.gif (822 octets)

exp_col

Expression numérique du numéro de colonne à l'écran, à partir duquel sera affichée la boite de picking.
exprimé en 1/4 de colonne

spacer.gif (822 octets)

abrev

Abréviation attribuée à cette boite de picking

spacer.gif (822 octets)

 

Exemples

# Treebox s'appuyant sur un masque de départ (exemple 1)

#ouverture de la table (avec clé : yitmref,yuom,yvatrat )
If !clalev([F:ZMT]) : Local File ZMOTTBX [ZMT] : Endif

#affichage de l'écran de base
Local Mask ZMOTSA17 [ZM17]
Local Dlgbox Mask [ZM17]
& Button "PICK1","FIN"
& With "1","F"
& Coded 1901,1902
& Titled "Test Treebox"
& As [ZM17]
Boxact [ZM17]

#saisie principale
$SAISIE
Boxinp [ZM17] Using RESU
Case RESU
When 7,44, 1902 : Goto FIN
When 1901 : Gosub AFFICHEBOX : Disable 1901
When GSTAPIC : Gosub SAIPIC
When Default
Endcase
Goto SAISIE

# affichage des éléments hiérarchisés
$AFFICHEBOX
Treebox [ZMT] SEL
& [F:ZMT]YITMREF Titled "",
& [F:ZMT]YUOM Titled "",
& [F:ZMT]YVATRAT Titled ""
& Sized(160,240)
& Titled "Fenêtre de picking"
& At(40,40)
& As [PIC]
Boxact [PIC]
Fillbox [PIC]
Return

#saisie dans la boîte de picking hiérarchisée
$SAIPIC
Pick [PIC]
Case status
When 37 : Gosub SELECTION : Goto SAIPIC
When 41 : Gosub DESELECTION : Goto SAIPIC
When Default
Endcase
Return

#un élément a été sélectionné => insertion dans le tableau
$SELECTION
Read [ZMT] YIX0 = [F]YITMREF;[F]YUOM;[F]YVATRAT
....
Return

#un élément a été déselectionné => suppression dans le tableau
$DESELECTION
Read [ZMT] YIX0 = [F]YITMREF;[F]YUOM;[F]YVATRAT
....
Return

$FIN
Boxclr [PIC]
Close Mask [ZM17]
Close File [ZMT]

 

# Treebox autonome ne s'appuyant pas sur un masque (exemple 2)

#ouverture de la table (avec clé : yitmref,yuom,yvatrat)
If !clalev([F:ZMT]) : Local File ZMOTTBX [ZMT] : Endif

# affichage des éléments hiérarchisés
Treebox [ZMT] SEL
& [F:ZMT]YITMREF Titled "",
& [F:ZMT]YUOM Titled "",
& [F:ZMT]YVATRAT Titled ""
& Sized(160,240)
& Titled "Fenêtre de picking"
& At(40,40)
& As [PIC]
Boxact [PIC]
Fillbox [PIC]

#saisie dans la boîte de picking hiérarchisée
$SAIPIC
Boxinp [PIC] Using RESU
Case RESU
When GSTAPIC
  Repeat
  Pick [PIC]
  Case status
    When 7, 44 : Break
    When 37 : Gosub SELECTION
    When 41 : Gosub DESELECTION
  Endcase
  Until 1=0
When GSTAPKF : Goto FIN
When GSTAESC, GSTAFIN : Goto FIN
Endcase
Goto SAIPIC

 

# Treebox dont les éléments sont des expressions (exemple 3)

Treebox [ZMT] SEL
& "référence :"-[F:ZMT]YITMREF Titled "",
& "unité :"-[F:ZMT]YUOM Titled "",
& "taux :"-[F:ZMT]YVATRAT Titled ""
& Sized(160,240)
& Titled "Fenêtre de picking"
& At(40,40)
& As [PIC]

 

Description

Leftbox permet d'afficher une une liste gauche constituée d'enregistrements d'une table , affichés sous forme simple et pour ensuite sélectionner un ou plusieurs enregistrements. La sortie de cette boite avec prise en compte des sélections s'effectue par activation du bouton "Appliquer". La boite de picking peut s'appuyer sur un masque (exemple 1) ou bien être autonome (exemple 2). La boite de picking peut s'afficher avec des enregistrements pré-sélectionnés en ayant utiliser l'instruction Setlbox; dans ce cas, ces enregistrements sont réellement considérés comme déjà sélectionnés.

La table sur laquelle opère la sélection doit avoir été ouverte par l'instruction File ou Local File. Le Leftbox peut aussi s'appuyer sur une abréviation définie lors d'un lien entre plusieurs tables.

Le deuxième paramètre permet d'identifier la boite de picking.

En troisième paramètre, on définit les champs qui seront affichés dans la boite de picking afin d'identifier chaque enregistrement. La Leftbox s'appuie sur la clé primaire pour l'identification des niveaux hiérarchiques et l'ordre d'affichage des enregistrements. Pour cela, il est impératif de définir le même nombre de champ à afficher qu'il y a de champs dans la clé primaire. Il est possible de déclarer des champs autres que ceux de la clé primaire. Pour chaque champ, il est nécessaire d'exprimer le titre du champ, qui peut être une chaine vide. Ce titre n'est pas utilisé pour une boite de picking hiérarchisée. Vous pouvez concaténer une chaine de caractère au champ (exemple 3).

La clause Sized permet de donner une dimension à la boîte de sélection.

La clause As permet d'associer une abréviation à cette boite de picking qui sera ensuite utilisée par pour l'affichage, le remplissage et la prise en compte des sélections ou désélections par les instructions Boxact, Fillbox, Pick.

Les clauses suivantes sont facultatives :

La clause Titled permet de donner un titre à la boîte de picking.

La clause At permet de préciser une position absolue de la boite à l'écran : Il s'agit du coin supérieur gauche de cet OBJet. Par défaut, la boite s'affichera en haut à gauche de l'écran.

 

Remarques

Le nombre d'OBJets-écrans pouvant être ouverts simultanément est au plus égal à 25. On appelle OBJet-écran les boîtes ouvertes par Mesbox, Inpbox, Dlgbox, Listbox, Treebox, Pickbox (y compris quand c’est une liste de gauche). Il faut aussi prendre en compte dans ce nombre, la  "fenêtre de travail" ouverte au lancement d'une application.

La boîte de picking est refermée dès que l'on en sort soit par le bouton "Appliquer", soit par click sur la croix. L'instruction Close n'existe pas pour une Leftbox .

La déclaration d'un OBJet-écran avec une abréviation déjà utilisée par un autre OBJet-écran, referme ce dernier.

 

Erreurs associées

Erreur

Description

ERCLAS ( 7)

Le fichier n'est pas ouvert.

 

Mots-clés associés

Pick  -  Boxact  -  Fillbox  -  Currbox  -  Setlbox  -   Dislbox