Bonjour,
Je souhaiterais savoir comment faire pour lister les items de mon TreeView ?
Je souhaiterais vérifier le header de chaque item afin d'éviter les doublons.
Ju
Version imprimable
Bonjour,
Je souhaiterais savoir comment faire pour lister les items de mon TreeView ?
Je souhaiterais vérifier le header de chaque item afin d'éviter les doublons.
Ju
Salut,
ce genre de code te suffirait-il ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12 List<string> headerExist = new List<string>(); foreach (object o in monTreeView.Items) { TreeViewItem it = o as TreeViewItem; if (!headerExist.Contains(it.Header.ToString())) headerExist.Add(it.Header.ToString()); else { // header doublon } }
C'est presque ça.
En faite mon but est de créer des Items en fonctions de la valeur:
Imaginons une tableau à deux dimension contenant ("valeur1","valeur2"..."valeur n") pour la première colonne
et contenant ("attrib1","attrib2", .... ,"attrib n") pour la 2eme colonne
mon algo :
tant que je n'ai pas parcouru tout mon tableau de valeur
si la valeur "valeur1" existe dans le treeView alors
j'ajoute "valeur1" dans l'item existant
sinon
je créer l'item dans mon treeView
j'ajoute "valeur1" au nouvel item qui vient d'etre créé
Fin si
fin tant que
Merci pour ton aide
Si j'ai bien compris ( j'en suis pas sur :) ) :
Code:
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 string[,] vals = new string[,] { { "v1", "a1" }, { "v2", "a2" }, { "v3", "a3" }, { "v4", "a4" }, { "v5", "a5" } }; for (int i = 0; i < vals.GetLength(0); i++) { bool find = false; foreach (object o in monTreeView.Items) { TreeViewItem tvi = o as TreeViewItem; if (tvi.Header.ToString() == vals[i,0]) { // remplace le header par la valeur de la colonne 2 find = true; tvi.Header = vals[i,1]; } } if (!find) { // créer l'item avec un header égal à la colonne 1 TreeViewItem tvi2 = new TreeViewItem(); tvi2.Header = vals[i,0]; monTreeView.Items.Add(tvi2); } }