Modifié par Julien EYMERY le 2015/08/31 11:08

Afficher les derniers auteurs
1 (((
2 = Introduction =
3 )))
4
5 (% style="color: rgb(0,0,0);" %)Le but est d'avoir une (% style="color: rgb(255,102,0);" %)**liste LST**(%%) en mise à jour avec une **(% style="color: rgb(255,102,0);" %)liste valeur LSV(%%)** en colonne de la liste et ayant des éléments différents en fonction de la valeur d'une **(% style="color: rgb(255,102,0);" %)colonne COL(%%)** de la liste.
6 Sur la dernière **(% style="color: rgb(255,102,0);" %)colonne COL_DER(%%)** en modification de la dernière ligne, la **(% style="color: rgb(255,102,0);" %)touche Entrée(%%)**, doit ajouter une ligne.(%%)
7 (((
8 = Mise en œuvre =
9 )))
10
11 (% style="color: rgb(0,0,0);" %)En fin d'initialisation de la liste, il faut appeler la **(% style="color: rgb(255,102,0);" %)méthode Fixer_Mode_Execution(%%)** avec la (% style="color: rgb(255,102,0);" %)**constante _Lst_Mode_Saisie**(% style="color: rgb(0,51,102);" %), p(%%)(%%)our pouvoir être directement en saisie sur les cellules de la liste.
12 (%%)
13
14
15 {{code title="Exemple" language="none"}}
16 * Après initialisation de la liste et de la LSV en fonction de COL.
17 APPELER_METHODE LST FIXER_MODE_EXECUTION _LST_MODE_SAISIE *VRAI W_RET_N2
18 {{/code}}
19
20
21
22 Sur l'**(% style="color: rgb(255,102,0);" %)événement(%%)** (% style="color: rgb(0,0,0);" %)**(% style="color: rgb(255,102,0);" %)gain focus(%%)**(%%) de la liste (% style="color: rgb(255,102,0);" %)**LSV**(%%), il faut charger la liste de la (% style="color: rgb(255,102,0);" %)**LSV**(%%) en fonction de la (% style="color: rgb(0,0,0);" %)**(% style="color: rgb(255,102,0);" %)COL(%%)**(%%) décideuse. Pour cela il faut récupérer la valeur de cette (% style="color: rgb(0,0,0);" %)**(% style="color: rgb(255,102,0);" %)COL(%%)**(%%) avec la (% style="color: rgb(0,0,0);" %)**(% style="color: rgb(255,102,0);" %)méthode(%%)(% style="color: rgb(255,102,0);" %)Recuperer_Valeur_Colonnes(%%)**(%%).
23
24
25
26 {{code title="LSV:GainFocus" language="none"}}
27 APPELER_METHODE LST RECUPERER_VALEUR_COLONNES 0 W_RET_BO
28 * Et donc tester ici la valeur COL pour charger la LSV en fonction de la valeur de COL.
29 * Note : le paramètre "0" (zéro) précise la ligne courante.
30 {{/code}}
31
32
33 (% style="color: rgb(0,0,0);" %)
34 Sur le changement de la valeur de la **(% style="color: rgb(255,102,0);" %)COL(%%)** décideuse, il faut charger la **(% style="color: rgb(255,102,0);" %)LSV(%%)** de ligne correspondante en fonction de la valeur de la **(% style="color: rgb(255,102,0);" %)COL(%%)**.
35 Pour cela il faut utiliser les **(% style="color: rgb(255,102,0);" %)méthodes Recuperer_Valeur_Colonnes(%%)** et **(% style="color: rgb(255,102,0);" %)Recuperer_Proprietes_Colonnes(%%)** puis ayant chargé la **(% style="color: rgb(255,102,0);" %)LSV(%%)** en fonction de **(% style="color: rgb(255,102,0);" %)COL(%%)**, utiliser les **(% style="color: rgb(255,102,0);" %)méthodes(%%)(% style="color: rgb(255,102,0);" %)Fixer_Proprietes_Colonnes(%%)** et **(% style="color: rgb(255,102,0);" %)Fixer_Valeur_Colonnes(%%)**.
36 (%%)
37
38
39 {{code title="COL:ChangementValeur" language="none"}}
40 APPELER_METHODE LST RECUPERER_VALEUR_COLONNES 0 W_RET_BO
41 APPELER_METHODE LST RECUPERER_PROPRIETES_COLONNES 0 W_RET_BO
42 *
43 * En fonction de la valeur de la colonne COL, on charge ici la LSV et la valeur visible de la LSV.
44 *
45 APPELER_METHODE LST FIXER_PROPRIETES_COLONNES 0 W_RET_BO
46 APPELER_METHODE LST FIXER_VALEUR_COLONNES 0 W_RET_BO
47 * Note : le paramètre "0" (zéro) précise la ligne courante. 
48 {{/code}}
49
50
51 (% style="color: rgb(0,0,0);" %)
52 Pour savoir si on se trouve sur **(% style="color: rgb(255,102,0);" %)COL_DER(%%)** de la **(% style="color: rgb(255,102,0);" %)LST(%%)** et de sa dernière ligne, afin que la **(% style="color: rgb(255,102,0);" %)touche(%%)(% style="color: rgb(255,102,0);" %)Entrée(%%)** ajoute une ligne, il faut mémoriser cette information sur un **(% style="color: rgb(255,102,0);" %)gain focus(%%)** et gérer une interception de la **(% style="color: rgb(255,102,0);" %)touche Entrée(%%)** via un **(% style="color: rgb(255,102,0);" %)menu(%%)** ayant cette touche en raccourci secondaire dans les touches accélératrices.(%%)
53
54
55
56 {{code title="COL_DER:GainFocus" language="none"}}
57 W_NOM_COL = 'COL_DER' 
58 {{/code}}
59
60
61
62 {{code title="COL_DER:PerteFocus" language="none"}}
63 W_NOM_COL = *BLANK 
64 {{/code}}
65
66
67
68 {{code title="COL_DER:MNU_TOUCHE_ENTREE" language="none"}}
69 SI W_NOM_COL = 'COL_DER'
70 SI LST:NUMERO_LIGNE_COURANTE = &NBR_ELT(LST:LISTE)
71 * Renseignement des valeurs initiales des colonnes de la liste
72 INSERER_ELT LST:LISTE
73 * Appel de la méthode Mettre_Focus sur la première colonne en saisie,
74 * avec en paramètre le numéro de la dernière ligne insérée.
75 FIN
76 FIN
77 {{/code}}
78
79
80 (% style="color: rgb(0,0,0);" %)(% style="color: rgb(0,0,0);" %)
81 Sur un **(% style="color: rgb(255,102,0);" %)Bouton de Validation(%%)**, nous pourrons lire la liste **(% style="color: rgb(255,102,0);" %)LST(%%)** complète, afin d'effectuer la mise à jour de la Base de Données.
82 (%%)(%%)
83
84
85 {{code title="BTN_VALIDER:BoutonGaucheClic" language="none"}}
86 LECTURE_LST LST
87 * Création / Mise à jour de la Base de Données en fonction des informations de la liste LST.
88 FIN_LECTURE_LST 
89 {{/code}}
90
91