Bonjour à tous![]()
je viens solliciter votre aide au sujet des treeview.
Pour vous résumer je créé un Tvw qui ressemble à ce genre de chose :
Son code :
je fais un tas de traitements et je désire insérer des nodes ( enfants ) supplémentaires avec une partie alimenté par une base de donnée Mysql
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
39
40
41
42
43
44
45
46
47
48 Private Sub ChargTvwNew() Try Cursor.Current = Cursors.WaitCursor tvData.ImageList = ImageList1 tvData.Nodes.Clear() Dim NodeRoot = New TreeNode(TextBox6.Text & " / " & TextBox3.Text & " / " & TextBox2.Text) NodeRoot.Name = ("NodeRoot") NodeRoot.Tag = ("NodeRoot") NodeRoot.ImageIndex = 0 NodeRoot.SelectedImageIndex = 0 tvData.Nodes.Add(NodeRoot) Dim NodeChasSimpl = New TreeNode("CHASSIS SIMPLE") NodeChasSimpl.Name = ("NodeChasSimpl") NodeChasSimpl.Tag = ("NodeChasSimpl") NodeChasSimpl.ImageIndex = 0 NodeChasSimpl.SelectedImageIndex = 0 tvData.Nodes(0).Nodes.Add(NodeChasSimpl) Dim NodeChasCompo = New TreeNode("CHASSIS COMPOSE") NodeChasCompo.Name = ("NodeChasCompo") NodeChasCompo.Tag = ("NodeChasCompo") NodeChasCompo.ImageIndex = 0 NodeChasCompo.SelectedImageIndex = 0 tvData.Nodes(0).Nodes.Add(NodeChasCompo) Dim NodeTmpDiv = New TreeNode("TEMPS DIVERS") NodeTmpDiv.Name = ("NodeTmpDiv") NodeTmpDiv.Tag = ("NodeTmpDiv") NodeTmpDiv.ImageIndex = 0 NodeTmpDiv.SelectedImageIndex = 0 tvData.Nodes(0).Nodes.Add(NodeTmpDiv) tvData.Select() tvData.Focus() tvData.ExpandAll() Cursor.Current = Cursors.Default ComptProduitCmd() ChargInfoSemaine() Catch ex As Exception Cursor.Current = Cursors.Default Mysqlconn.Close() Mysqlconn.Dispose() MsgBox(ex.Message) End Try
j'ai un résultat comme l'image qui suit .... des doublons dans les nodes ajoutés
La 1ere insertion se fait correctement, la 2eme est *2 , la 3eme est * 3 et si je continue ça m'en rajoute
Le code de la Form après les traitements :
Le code de la Form ou j'ajoute les nodes enfants :
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 Dim RecpNomProdCmd As String = Label2.Text & "/ Qté ( " & RecpQtéComp & " ) / Tmp.Total ( " & RecpTmpsTotalComp & " ) / ID:" & ToolStripStatusLabel6.Text Dim AffProCompTvdata = New TreeNode(RecpNomProdCmd) AffProCompTvdata.ImageIndex = 1 AffProCompTvdata.SelectedImageIndex = 1 PlanCmdNewOk.tvData.Nodes(0).Nodes(1).Nodes.Add(AffProCompTvdata) AffProCompTvdata.Name = RecpNomProdCmd PlanCmdNewOk.tvData.Nodes(0).Nodes(1).ExpandAll() PlanCmdNewOk.tvData.SelectedNode = AffProCompTvdata PlanCmdNewOk.UpdateApresInserProd() ' PlanCmdNewOk.Nomcomp = Label2.Text PlanCmdNewOk.UpdateTvDataInserComp() Mysqlconn.Close() Me.Close()
Si l'un de vous à une petite idée du problème ou éventuellement un piste.
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 Dim IdCmd = ToolStripStatusLabel6.Text Dim IdCompose = ToolStripStatusLabel2.Text Dim NodeSelectText = tvData.SelectedNode.Text tvData.Nodes(0).Nodes(1).Nodes(NodeSelectText).Nodes.Clear() Dim sqlQRY2 As String = "SELECT cmdcompelem.DesigElement,cmdcompelem.IdcmdcompElem FROM cmdcompos,cmdcompelem WHERE cmdcompos.IdCmd='" & IdCmd & "' And cmdcompelem.IdDuCompose='" & IdCompose & "' " Mysqlconn.Open() Dim cmd As Common.DbCommand = New MySqlCommand(sqlQRY2, Mysqlconn) Dim rdrs As MySqlDataReader = cmd.ExecuteReader While rdrs.Read() tvData.Nodes(0).Nodes(1).Nodes(NodeSelectText).Nodes.Add(rdrs("DesigElement").ToString(), rdrs("DesigElement").ToString() & " / ID:" & rdrs("IdcmdcompElem").ToString(), 5, 5).Tag = "DETAILPRODCOMPOSE" End While rdrs.Close() rdrs.Dispose() Mysqlconn.Close() Mysqlconn.Dispose()
Merci par avance
Partager