bonjour, aujourd'hui je m'attaque aux treeview ! c'est la première fois que j'en fais un ^^
voici ma table sql :
voici comment, dans mon winform, je cré une liste recueillant tous mes éléments :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 create table categ_piece ( id_categ_piece uniqueidentifier not null, id_categ_piece_parent uniqueidentifier null, nom_categ_piece varchar(100) not null, ordre_categ_piece int not null, nb_points int not null, constraint pk_categ_piece primary key nonclustered (id_categ_piece) ) go alter table categ_piece add constraint fk_id_categ_piece_parent foreign key (id_categ_piece_parent) references categ_piece (id_categ_piece) go
hey oui, j'utilise le DataAccess et le c#3, une grande évolution pour moi, j'essaie d'être un peu moins nul en prog ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part categs_pieces = categ_pieceDAL.GetList();
bon, j'ai créé une fonction récursive pour créer mon arbre, mais ce n'est pas vraiment une réussite
pourriez-vous (encore) me donner un coup de main svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 private void Categ_pieceForm_Load(object sender, EventArgs e) { une_categ_piece = new categ_piece(); categs_pieces = categ_pieceDAL.GetList(); TreeNode LvlNode = new TreeNode(); remplir_treeview(LvlNode, une_categ_piece); } private void remplir_treeview(TreeNode LvlNodeSup, categ_piece une_categ_piece) { TreeNode LvlNode = new TreeNode(); List<categ_piece> level_one = new List<categ_piece>(); if(une_categ_piece.id_categ_piece == Guid.Empty) { level_one = (from c in categs_pieces where c.id_categ_piece_parent == null select c).ToList(); } else { level_one = (from c in categs_pieces where c.id_categ_piece_parent == une_categ_piece.id_categ_piece select c).ToList(); } foreach (categ_piece categorie in level_one) { LvlNode.Name = categorie.id_categ_piece.ToString(); LvlNode.Text = categorie.nom_categ_piece; Categ_pieceTreeView.Nodes.Add(LvlNode); remplir_treeview(LvlNode, categorie); } }
merci
Partager