Modifié par Isabelle FERRIERE le 2015/10/12 10:12

Masquer les derniers auteurs
Isabelle FERRIERE 1.1 1 Soit une liste d’animaux, dont les colonnes CATEGORIE et ANIMAL sont définies en filtre manuel :
2
3 [[image:LST_ANIMAUX.png]]
4
5
6 Sur l’événement « (% style="line-height: 1.42857;" %)**ActionFiltre**(%%) » de ces colonnes :
7
8
9 **1/** Déterminer le filtre, à partir de la propriété VALEUR_INTERNE_FILTRE :
10 * Position 1 à 2 : opérateur du filtre. Valeurs possibles : '~=', '>', '<', '~'
11 * Position 3 : indicateur de casse ('0' sans casse, '1' avec la casse)
12 * Position 4 à 6 : longueur de la valeur (sur 3 chiffres, complétée par des zéros à gauche)
13 * Position 50 : début de la valeur
14 * La propriété à *BLANK indique que l'utilisateur a choisi de tout afficher (filtre « * »)
15
16
17
18
19 {{code language="none"}}
20 * Action sur filtre
21 SI COL_CATEG:VALEUR_INTERNE_FILTRE = *BLANK
22    W_FILTRE_OPERATEUR = '*'
23    W_FILTRE_CASSE = *BLANK
24    W_FILTRE_LONG = *BLANK
25    W_FILTRE_VAL = *BLANK
26 SINON
27    W_FILTRE_OPERATEUR = &EXTRACTION(COL_CATEG:VALEUR_INTERNE_FILTRE; 1; 2)
28    W_FILTRE_CASSE = &EXTRACTION(COL_CATEG:VALEUR_INTERNE_FILTRE; 3; 1)
29    W_FILTRE_LONG = &EXTRACTION(COL_CATEG:VALEUR_INTERNE_FILTRE; 4; 3)
30    W_FILTRE_VAL = &EXTRACTION(COL_CATEG:VALEUR_INTERNE_FILTRE; 50; 200)
31 FIN
32 {{/code}}
33
34
35
36
37 **2/** Parcourir la liste (LECTURE_LST, par exemple) et rendre visible ou non les lignes en fonction du filtre, ce en utilisant le filtre défini précédemment et la propriété LIGNE_VISIBLE :
38
39
40
41 {{code language="none"}}
42 LECTURE_LST LST_ANIMAUX:LISTE
43  
44    * Masquer toutes les lignes
45    LST_ANIMAUX:LIGNE_VISIBLE = *FAUX
46  
47    * Filtre = « tous » => Rendre visible toutes les lignes
48    SI W_FILTRE_OPERATEUR = '*'
49       LST_ANIMAUX:LIGNE_VISIBLE = *VRAI
50  
51    SINON
52  
53       SI W_FILTRE_CASSE = '0'
54          * Non respect de la casse
55          SI WCOL_NOM = 'CATEGORIE'
56             WCOL_VALEUR = &MINUSCULE(COL_CATEG:)
57          SINON_SI WCOL_NOM = 'ANIMAUX'
58             WCOL_VALEUR = &MINUSCULE(COL_ANIMAL:)
59          FIN
60          W_FILTRE_VAL = &MINUSCULE(W_FILTRE_VAL)
61  
62       SINON
63          * Casse sensitive
64          SI WCOL_NOM = 'CATEGORIE'
65             WCOL_VALEUR = COL_CATEG:
66          SINON_SI WCOL_NOM = 'ANIMAUX'
67             WCOL_VALEUR = COL_ANIMAL:
68          FIN
69       FIN
70      
71       * Rendre visible les lignes respectant le filtre
72       SI W_FILTRE_OPERATEUR = '=' ET WCOL_VALEUR = W_FILTRE_VAL
73          LST_ANIMAUX:LIGNE_VISIBLE = *VRAI
74       FIN
75  
76       SI W_FILTRE_OPERATEUR = '>' ET WCOL_VALEUR > W_FILTRE_VAL
77          LST_ANIMAUX:LIGNE_VISIBLE = *VRAI
78       FIN
79  
80       SI W_FILTRE_OPERATEUR = '<' ET WCOL_VALEUR < W_FILTRE_VAL
81          LST_ANIMAUX:LIGNE_VISIBLE = *VRAI
82       FIN
83  
84       SI W_FILTRE_OPERATEUR = '~' ET WCOL_VALEUR CONTIENT W_FILTRE_VAL
85          LST_ANIMAUX:LIGNE_VISIBLE = *VRAI
86       FIN
87    FIN
88  
89    * Mettre à jour la liste
90    MODIFIER_ELT LST_ANIMAUX:LISTE
91 FIN_LECTURE_LST
92 {{/code}}
93
94
95
96 **//Déclarations utiles://**
97
98
99
100 {{code language="none"}}
101 ALPHA(2) W_FILTRE_OPERATEUR
102 ALPHA(1) W_FILTRE_CASSE
103 ALPHA(3) W_FILTRE_LONG
104 ALPHA(200) W_FILTRE_VAL
105 ALPHA(9) WCOL_NOM
106 ALPHA(200) WCOL_VALEUR
107
108 {{/code}}
109
110 (((
111 == Articles connexes ==
112 )))
113
114 Les articles connexes apparaissent ici en fonction des étiquettes que vous avez sélectionnées. Cliquez pour modifier la macro et ajouter ou modifier des étiquettes.
115
116 {{liveData sort="doc.date:desc" source="liveTable" properties="doc.title,doc.date,doc.author" description="Recently updated" limit="5" filters="tag=kb-how-to-article" sourceParameters="translationPrefix=platform.index."}}{{/liveData}}
117
118