treeview avec une base de donnée Access
Comment on crée un treeview avec une base de donnée Access (avec 2 colonnes ) :
- La première colonne: noeud principal
- La deuxième colonne : noeud secondaire
J'ai un :
- adoconnection relié a sa table.mdb
- datasource + adotable1 reliés également
exemple de ma table :
Dans la table "aliment" :
Index : Principal : secondaire
1 : legume : carotte
2 : : poireaux
3 :viande : boeuf
4 : : sanglier
Merci
Re: treeview avec une base de donnée Access
Salut!
Lorsque je stocke de l'info et que je sais qu'elle va aller dans un TreeView, j'ai tendance à la modéliser de cette façon:
Code:
1 2 3 4 5 6 7
|
ID ID_Parent Indentation Nom
---------------------------------------
1 NULL 1 Légume
2 NULL 1 Viande
3 1 2 Poireaux
4 2 2 Sanglier |
Lorsque je fais ma requête, j'effectue un tri sur Indentation de façon à créer mes noeuds du 1er niveau en premier, le 2e niveau en suite, etc. Le ID_Parent me permet de savoir sur quel noeud je dois attacher mon nouveau noeud. Un ID_Parent Null m'indique que le noeud est à la racine.
Bon, ceci étant dit ( :) ), il est assurément possible de remplir un TreeView avec les données comme tu les présentes mais sache qu'il sera difficile, à mon avis, d'éventuellement ajouter de nouveaux éléments sans bousculer les autres :? . Voici comment je m'y prendrais :
1- En parcourant tes enregistrements, teste si Principal est NULL.
2- S'il n'est pas NULL, tu as affaire à un noeud à la racine donc tu devras créer ce noeud (conserve ici dans une variable une référence sur le noeud car tu en auras besoin au point 3). Tu devras également créer le noeud enfant correspondant à Secondaire du même enregistrement.
3- Ensuite pour tous les enregistrement suivants dont Principal est NULL, tu devras ajouter un noeud enfant à ton noeud racine créé précédemment.
4- Aussitôt que Principal n'est plus NULL, tu retournes au point 1
... et ce, jusqu'à la fin de la table.
a+!