OVH Cloud OVH Cloud

Peupler un treeview via un dataset

4 réponses
Avatar
dopamind
bonjour,

je suis novice en vb et je bloque sur le peuplement d'un treview via un
dataset.
ce dernier me renvoie juste 2 colonnes :
zzzz tata
zzzz titi
xxxx tata
wwww tata
wwww titi...

je voudrais bien sur avoir en final l'arborescence suivante :
zzzz
- tata
- titi
xxxx
- tata
wwww
-tata
-titi

merci d'avance pour votre aide

4 réponses

Avatar
Patrice
Si les données sont triées sur la colonne 1, la démarche serait :
- d'ajouter un noeud de niveau 1 lorsque la 1ère colonne change
- d'ajouter la valeur de la deuxième colonne au dernier noeud principal
ajouté

Ce qui devrait donner le treeview voulu...

--
Patrice

"dopamind" a écrit dans le message de news:
44b3c7c1$0$13067$
bonjour,

je suis novice en vb et je bloque sur le peuplement d'un treview via un
dataset.
ce dernier me renvoie juste 2 colonnes :
zzzz tata
zzzz titi
xxxx tata
wwww tata
wwww titi...

je voudrais bien sur avoir en final l'arborescence suivante :
zzzz
- tata
- titi
xxxx
- tata
wwww
-tata
-titi

merci d'avance pour votre aide


Avatar
dopamind
Patrice a écrit :
Si les données sont triées sur la colonne 1, la démarche serait :
- d'ajouter un noeud de niveau 1 lorsque la 1ère colonne change
- d'ajouter la valeur de la deuxième colonne au dernier noeud principal
ajouté

Ce qui devrait donner le treeview voulu...



En ce qui concerne l'algorithme pas trop de probleme, mais c'est au
niveau du code que cela bloque...
Avatar
Patrice
Quelque chose comme (non testé ) :

For i=0 to dt.rows.count-1
If dt.rows(i)(0)<>strLast Then
' Nouveau noeud principal
strLast=dt.rows(i)(0)
Set MainNode=treeview1.Nodes.add(dt.rows(i)(0))
End If
' Ajouter au dernier noeud principal créé
MainNode.Nodes.Add(dt.rows(i)(1))
Next

Sinon qu'as tu essayé comme code et quel est le point exact qui bloque ?

--
Patrice

"dopamind" a écrit dans le message de news:
44b3f434$0$13081$
Patrice a écrit :
Si les données sont triées sur la colonne 1, la démarche serait :
- d'ajouter un noeud de niveau 1 lorsque la 1ère colonne change
- d'ajouter la valeur de la deuxième colonne au dernier noeud principal
ajouté

Ce qui devrait donner le treeview voulu...



En ce qui concerne l'algorithme pas trop de probleme, mais c'est au niveau
du code que cela bloque...


Avatar
dopamind
Patrice a écrit :
Quelque chose comme (non testé ) :

For i=0 to dt.rows.count-1
If dt.rows(i)(0)<>strLast Then
' Nouveau noeud principal
strLast=dt.rows(i)(0)
Set MainNode=treeview1.Nodes.add(dt.rows(i)(0))
End If
' Ajouter au dernier noeud principal créé
MainNode.Nodes.Add(dt.rows(i)(1))
Next

Sinon qu'as tu essayé comme code et quel est le point exact qui bloque ?



Merci Patrice, ça marche nickel
bon WE