تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] سئوال حول كود عرض البيانات فىTreeView1 الى 3 مستويات
#1
يتم عرض البيانات بشكل جيد ولكن فى المشتوى الثالث يتم عرض البيانات فى اول تصنيف من المستوى الثانى
برجاء مراجعة الكود
كود :
TreeView1.Nodes.Clear()
        If con.State = ConnectionState.Closed Then con.Open()
        Dim G As Integer = 0
        Dim G_n As Integer = 0
        TreeView1.Nodes.Add(" ", "شجرة المعلومات")
        Dim cmd As New SqlCeCommand("Select id,name,cid from news where cid='0' ", con)
        cmd.Connection = con
        Dim drr As SqlCeDataReader = cmd.ExecuteReader
        While drr.Read
            G += 1
            TreeView1.Nodes.Add(drr.GetValue(0).ToString, drr.GetValue(1).ToString)
            Dim cmd_1 As New SqlCeCommand("Select id,name from news where cid=" & drr.GetValue(0).ToString & "", con)
            cmd_1.Connection = con
            Dim drr_n As SqlCeDataReader = cmd_1.ExecuteReader
            Dim Name As String
            While drr_n.Read
                Name = drr_n.GetValue(0).ToString
                TreeView1.Nodes(G).Nodes.Add(Name, drr_n.GetValue(1))
                Dim cmd_2 As New SqlCeCommand("Select id,name from news where cid=" & drr_n.GetValue(0).ToString & "", con)
                cmd_2.Connection = con
                Dim drr_n_2 As SqlCeDataReader = cmd_2.ExecuteReader
                While drr_n_2.Read
                    TreeView1.Nodes(G).Nodes(G_n).Nodes.Add(drr_n_2.GetValue(0), drr_n_2.GetValue(1))

                End While
                drr_n_2.Close()

            End While
            drr_n.Close()

        End While
        drr.Close()
        con.Close()
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله

ربما كان سبب ذلك هو المتغير G لأنك زدته بمقدار 1 في بداية الحلقة المفروض يكون في نهاية الحلقة الأولى

لأنه في بداية الحلقة سيأخذ القيمة 1 والمعروف أن Index الـ Nodes يبدأ عادة بالرقم 0

أو يمكنك تركه في بداية الحلقة ولكن في تعريفه بالأعلى تجعل قيمته الابتدائية تساوى -1 بدلا عن صفر

والله أعلم
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}}
تم الشكر بواسطة:
#3
الحمد لله توصلت لعمل كود صغير جدا وقوى جدا فى التعامل مع treeView ارجو ان يستفادة منه الاعضاء الكرام
PHP كود :
Private Sub PopulateTreeView()
        
TreeView1.Nodes.Clear()
        
fillTree(" ""بيانات الدليل"Nothing)
    
End Sub
    
Public Sub fillTree(ByVal key As StringByVal txt As StringByVal N As TreeNode)
        
Dim cmd As New SqlCeCommand
        
If con.State ConnectionState.Closed Then con.Open()
        
cmd.Connection con
        cmd
.CommandText "Select id,name,cid from tab_name where cid='" key "'"
        
Dim dr cmd.ExecuteReader
        Dim NN 
As TreeNode
        
If N Is Nothing Then
            NN 
TreeView1.Nodes.Add(keytxt0)
        Else
            
NN N.Nodes.Add(keytxt1)
        
End If
        Do While 
dr.Read
            fillTree
(dr(0).ToStringdr(1).ToStringNN)
        
Loop

    End Sub 
الرد }}}}
تم الشكر بواسطة: kslawy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] حفظ تاريخ معين بقاعدة البيانات توفي العراقي 2 58 منذ 5 ساعة مضت
آخر رد: توفي العراقي
  تغيير قاعدة البيانات الى .bak زيد زينوبي 3 41 03-12-16, 07:07 PM
آخر رد: ابراهيم النعيمي
  [سؤال] ايهما افضل في قواعد البيانات للتميم برنامج sal.softip 2 34 03-12-16, 06:59 PM
آخر رد: sal.softip
  قاعدة البيانات لا تدعم اللغة العربية ؟؟؟؟؟؟ صبري زينوبي 13 189 03-12-16, 04:47 PM
آخر رد: صبري زينوبي
  تغيير قاعدة البيانات من اكسس الى sql hglogtd 2 96 26-11-16, 03:03 AM
آخر رد: hglogtd
  [سؤال] ايهما افضل من جهة امن البيانات thevirus 2 83 24-11-16, 12:14 PM
آخر رد: thevirus
  [كود] الحذف من قاعدة البيانات بواسطة كلمة سر المبرمج العبقري 5 118 23-11-16, 05:21 PM
آخر رد: hglogtd
  [VB.NET] الاتصال بقاعدة البيانات في التقارير (الكريستال ريبورت) thevirus 2 79 23-11-16, 11:05 AM
آخر رد: thevirus
  مساعدة في عرض البيانات في التقرير haiderkh 1 71 21-11-16, 11:24 PM
آخر رد: السرور
  طلب كود لحذف جميع البيانات من الجدول haiderkh 4 115 21-11-16, 07:11 PM
آخر رد: haiderkh

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم