Gambas France BETA


Pas de compte ? Incription

treeview (episode 2)

Ce sujet est résolu.

1
AuteurMessages
janoxe#1 Posté le 9/1/2019 à 13:35:29
Ousp, le post a été posté incomplet.

Je ne trouve ni documentation ni exemple sur ce sujet.
Merci de votre aide.

Voici le code actuel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
PUBLIC SUB FillTreeview()
'Remplir le treeview

DIM i_Categ AS INTEGER
DIM i_Class AS INTEGER
DIM i_Fam AS INTEGER
DIM nd_Categ AS STRING
DIM nd_class AS STRING
DIM nd_Fam AS STRING
DIM qry_Categ AS Result
DIM qry_Class AS Result
DIM qry_Fam AS Result

'1er niveau
qry_Categ = DB.Exec("SELECT Categorie FROM tb_Categorie ORDER BY Categorie ASC")
IF qry_Categ.Available THEN
FOR EACH qry_Categ
nd_Categ = qry_Categ!Categorie
INC i_Categ
trv_Jardin.Add("A" & i_Categ, nd_Categ)

'2éme niveau
qry_Class = DB.Exec("Select * from tb_Classe WHERE Categorie = &1 order by Categorie ASC, Classe ASC", nd_Categ)
IF qry_Class.Available THEN
FOR EACH qry_Class
nd_class = qry_Class!Classe
INC i_Class
trv_Jardin.Add("B" & i_Class, nd_Class,, "A" & i_Categ)

'3ème niveau
qry_Fam = DB.Exec("Select * from tb_Famille WHERE Classe = &1 order by Classe ASC, Famille ASC", nd_Class)
IF qry_Fam.Available THEN
FOR EACH qry_Fam
nd_Fam = qry_Fam!Famille
INC i_Fam
trv_Jardin.Add("C" & i_Fam, nd_Fam,, "B" & i_Class)
NEXT
ENDIF
NEXT
ENDIF
NEXT
ENDIF
trv_Jardin.Item.Text
END
spheris#2 Posté le 9/1/2019 à 23:01:57
Bonsoir,
Comme la treeview hérite des listview ou listbox, je te propose cet exemple à adapter à ton programme :
http://gambaslinux.fr/articles.php?lng=fr&pg=315

Ce petit exemple pourra aussi t'aider :
http://gambaslinux.fr/articles.php?lng=fr&pg=521

Ensuite pour utiliser labase de données, voilà un exemple assez complet :
http://gambaslinux.fr/articles.php?lng=fr&pg=191

;)
janoxe#3 Posté le 12/1/2019 à 10:27:07
Merci Spheris.
J'avais oublié ce site gambaslinux, mon dernier développement remonte à 8 ans maintenant! Je remets ce site dans mes favoris.
Avec l'EDI et l'aide à la saisie, je testais les méthodes une par une. Les méthodes SELECT et MOVEPARENT me permettent d'avoir les données nécessaires.
Je vais étudier tes exemples, histoire de rafraichir le cerveau.
1