الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بناء treeview من جدول

بدأه coolrelax في 27 مايو 2010 · 0 رد · 470 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

اخواني الكرام

السلام عليكم ورحمة الله وبركاته

حاليا اقوم ببناء شجرة محاسبية عباره عن TreeView

حيث انه لدي في الجدول المطلوب القراءه منه ثلاث حقول هي

Fld_ACCOUNT_ID ويمثل رقم الحساب

Fld_PARENT_LEVEL ويمثل رقم الحساب الاب الذي يتفرع منه

Fld_ACCOUNT_NAME اسم الحساب

عند قيام بعمل هذه الفكره استخدمت الكود التالي

Private Sub buld()

For intloop As Integer = 0 To Accounts.Rows.Count - 1

If Accounts.Rows(intloop).Item("Fld_PARENT_LEVEL").ToString = 0 Then

Dim MainHeader As New TreeNode(Accounts.Rows(intloop).Item("Fld_ACCOUNT_ID").ToString + " -->" + Accounts.Rows(intloop).Item("Fld_ACCOUNT_name").ToString)

MainHeader.Tag = Accounts.Rows(intloop).Item("Fld_ACCOUNT_ID").ToString

TreeView1.Nodes.Add(MainHeader)

search_account(Accounts.Rows(intloop).Item("Fld_ACCOUNT_ID").ToString, MainHeader)

Else

End If

Next

End Sub

Private Sub search_account(ByVal ACCOUNT_ID As Decimal, ByRef secandHeader As TreeNode)

For intloop1 As Integer = 0 To Accounts.Rows.Count - 1

If Accounts.Rows(intloop1).Item("Fld_PARENT_LEVEL").ToString <> 0 Then

If ACCOUNT_ID = Accounts.Rows(intloop1).Item("Fld_PARENT_LEVEL").ToString Then

Dim MainHeader As New TreeNode(Accounts.Rows(intloop1).Item("Fld_ACCOUNT_ID").ToString + " -->" + Accounts.Rows(intloop1).Item("Fld_ACCOUNT_name").ToString)

MainHeader.Tag = Accounts.Rows(intloop1).Item("Fld_ACCOUNT_ID").ToString

secandHeader.Nodes.Add(MainHeader)

search_account(Accounts.Rows(intloop1).Item("Fld_ACCOUNT_ID").ToString, MainHeader)

End If

End If

Next

End Sub

[/code[

ولكن عند التجربه في جدول صغير يعني 100 سطر تقريبا الكود يعمل بشكل جيد

بينما ادا كان حجم البيانات اكبر ولنفرض 4000

فانه للاسف ياخد نصف دقيقه لبناء هذه الشجره

سوالي

هل يوجد خورزمي اخرى او كود اخر لينفذ المطلوب في وقت اقل

الكود والجدول موجود في المرفقات

Bulid_Account_tree.rar

مواضيع مشابهة