السلام عليكم
حاولت أعمل عرض للبيانات من قاعدة البيانات ولكن تظهر لي بشكل خاطأ فهل من مساعد
عندي 4 جداول
CompAccount(ID,ComName)
First_Level(ID,F_ID,F_Name,C_F_ID)
Second_Level(ID,S_Name,F_S_ID,S_ID)
Third_Level(th_ID,th_Name,TH_S_ID,th_F_ID)
و العلاقة بينهم على النحو التالي
CompAccount(ID)=First_Level(C_F_ID)
First_Level(ID)=Second_Level(F_S_ID)
Second_Level(ID)=Third_Level(TH_S_ID)
حاليا بدي أعرض هذه البيانات كاملة على Tree View
الكود يلي حصلت علية يحرض أول جدولين بشكل صحيح و الباقي كله خطأ
الكود كالتالي
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim _ds As New DataSet
Dim _ds2 As New DataSet
Dim _ds3 As New DataSet
Dim _ds4 As New DataSet
Dim _sql As String = "select * from CompAccount c, First_Level f,Second_Level s,Third_Level th where f.C_F_ID = c.id "
Dim _sql2 As String = "select * from First_Level f,Second_Level s where ( f.ID= s.F_S_ID)"
Dim _sql3 As String = "select * from Second_Level s,Third_Level th where (s.ID=th.TH_S_ID)"
Dim _cnn As New SqlConnection("MultipleActiveResultSets=True;Server=;Database=Stores;User ID=sa;Password=sa1234")
Dim _cmd As New SqlCommand(_sql, _cnn)
Dim _cmd2 As New SqlCommand(_sql2, _cnn)
Dim _cmd3 As New SqlCommand(_sql3, _cnn)
Dim _da As New SqlDataAdapter(_cmd)
Dim _da2 As New SqlDataAdapter(_cmd2)
Dim _da3 As New SqlDataAdapter(_cmd3)
_da.Fill(_ds, "ComName")
_da2.Fill(_ds2, "First_Level")
_da3.Fill(_ds3, "Second_Level")
'For Each _row In Ds_account.accounts.Rows
'For Each _row In Ds_account.Tables("accounts").Rows
For Each _row In _ds.Tables("ComName").Rows
Dim oTreeNodes As New TreeNode
Dim Key1 = Trim(_row("ComName"))
Dim Val1 = Trim(_row("ComName"))
Dim Key2 = Key1 + Trim(_row("F_Name"))
Dim Val2 = Trim(_row("F_Name"))
'Level 1
If Me.TreeView1.Nodes.IndexOfKey(Key1) = -1 Then ' Not Exist
Me.TreeView1.Nodes.Add(Key1, Val1)
End If
'Level 2
oTreeNodes = Me.TreeView1.Nodes(Key1)
If oTreeNodes.Nodes.IndexOfKey(Key2) = -1 Then
oTreeNodes.Nodes.Add(Key2, Val2)
End If
For Each _row1 In _ds2.Tables("First_Level").Rows
Dim Key3 = Key2 + Trim(_row("S_Name"))
Dim val3 = Trim(_row("S_Name"))
Dim Key4 = Trim(_row("th_Name"))
Dim Val4 = Trim(_row("th_Name"))
'Level 3
oTreeNodes = Me.TreeView1.Nodes(Key1)
oTreeNodes = oTreeNodes.Nodes(Key2)
If oTreeNodes.Nodes.IndexOfKey(Key3) = -1 Then
oTreeNodes.Nodes.Add(Key3, val3)
End If
oTreeNodes = Me.TreeView1.Nodes(Key1)
oTreeNodes = oTreeNodes.Nodes(Key2)
oTreeNodes = oTreeNodes.Nodes(Key3)
If oTreeNodes.Nodes.IndexOfKey(Key4) = -1 Then
oTreeNodes.Nodes.Add(Key4, Val4)
End If
Next
Next
End Sub
حدا عندة حل مرفق صورة عن المشكله