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 :

Nom : tvdata1.png
Affichages : 128
Taille : 3,8 Ko

Son code :

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
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
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

Nom : tvdata.png
Affichages : 98
Taille : 19,6 Ko

Le code de la Form après les traitements :

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()
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
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()
Si l'un de vous à une petite idée du problème ou éventuellement un piste.

Merci par avance