PDA

View Full Version : tree view



bahramsport
دوشنبه 30 بهمن 1385, 07:37 صبح
با سلام
من نیاز به یک treeview دارم که کارهای زیر را انجام بده
1- از بانک خوانده بشه و تمام اصلاحات را در بانک ذخیره کنه
2- بشه به آن نود اضافه کرد و نود حذف کرد
3- بشه بین 2 نود یک نود جدید اضافه کرد
4 - نود child اضافه کرد

من با راهنمایی این سایت توانستم 00.01و0000و 0001 و .......... یک treeview بنویسم ولی مشکلم حل نشد
میخواهم بدانم کامپوننتی برای این کار است ؟؟؟؟
اصلا کسی این کار را انجام داده ؟؟؟

leilav_1984
دوشنبه 30 بهمن 1385, 10:25 صبح
با سلام
من نیاز به یک treeview دارم که کارهای زیر را انجام بده
1- از بانک خوانده بشه و تمام اصلاحات را در بانک ذخیره کنه
2- بشه به آن نود اضافه کرد و نود حذف کرد
3- بشه بین 2 نود یک نود جدید اضافه کرد
4 - نود child اضافه کرد

من با راهنمایی این سایت توانستم 00.01و0000و 0001 و .......... یک treeview بنویسم ولی مشکلم حل نشد
میخواهم بدانم کامپوننتی برای این کار است ؟؟؟؟
اصلا کسی این کار را انجام داده ؟؟؟

بله بارها خیلیهامون انجام دادیم
نود های Treeview مثل Arraylist هستن
متدهای Arraylist رو ببینی متوجه میشی چیکار کنی
Add و Remove و... داره
مثلا
Node1.Nodes.Add(Node2)

rezaei manesh
دوشنبه 30 بهمن 1385, 11:16 صبح
از این هم می تونی کمک بگیری
این کد برای پر کردن tree برای 5 سطح می باشد.
نکته موجود در ایجاد key است که از @ استفاده شده برای اینکه در خوندن بتونیم با استفاده
از تابع



Dim array_key() = Split(key, "@")

کلید نود مورد نظر را پیدا کنیم




Private Sub fill_tree_access()

Dim dvTblview0 As DataView

dvTblview0 = New DataView(Inventory_ManagerDataSet.Tables("TblInv_AccessProject"), "father_id is null", "", DataViewRowState.CurrentRows)
Dim newTable0 As DataTable = dvTblview0.ToTable()

Dim i As Integer
For i = 0 To newTable0.Rows.Count - 1
Dim key0 As String
key0 = newTable0.Rows(i).Item("id")
TreeView1.Nodes.Add(key0, newTable0.Rows(i).Item("Description").ToString)


Dim dvTblview1 As DataView
dvTblview1 = New DataView(Inventory_ManagerDataSet.Tables("TblInv_AccessProject"), "father_id =" & key0, "", DataViewRowState.CurrentRows)
Dim newTable1 As DataTable = dvTblview1.ToTable()

Dim j As Integer
For j = 0 To newTable1.Rows.Count - 1
Dim key1 As String
key1 = newTable1.Rows(j).Item("id")
TreeView1.Nodes(key0).Nodes.Add(key0 & "@" & key1, newTable1.Rows(j).Item("Description").ToString)



Dim dvTblview2 As DataView
dvTblview2 = New DataView(Inventory_ManagerDataSet.Tables("TblInv_AccessProject"), "father_id =" & key1, "", DataViewRowState.CurrentRows)
Dim newTable2 As DataTable = dvTblview2.ToTable()

Dim k As Integer
For k = 0 To newTable2.Rows.Count - 1
Dim key2 As String
key2 = newTable2.Rows(k).Item("id")
TreeView1.Nodes(key0).Nodes(key0 & "@" & key1).Nodes.Add(key0 & "@" & key1 & "@" & key2, newTable2.Rows(k).Item("Description").ToString)

Dim dvTblview3 As DataView
dvTblview3 = New DataView(Inventory_ManagerDataSet.Tables("TblInv_AccessProject"), "father_id =" & key2, "", DataViewRowState.CurrentRows)
Dim newTable3 As DataTable = dvTblview3.ToTable()

Dim h As Integer
For h = 0 To newTable3.Rows.Count - 1
Dim key3 As String
key3 = newTable3.Rows(h).Item("id")
TreeView1.Nodes(key0).Nodes(key0 & "@" & key1).Nodes(key0 & "@" & key1 & "@" & key2).Nodes.Add(key0 & "@" & key1 & "@" & key2 & "@" & key3, newTable3.Rows(h).Item("Description").ToString)

Dim dvTblview4 As DataView
dvTblview4 = New DataView(Inventory_ManagerDataSet.Tables("TblInv_AccessProject"), "father_id =" & key3, "", DataViewRowState.CurrentRows)
Dim newTable4 As DataTable = dvTblview4.ToTable()

Dim z As Integer
For z = 0 To newTable4.Rows.Count - 1
Dim key4 As String
key4 = newTable4.Rows(z).Item("id")
TreeView1.Nodes(key0).Nodes(key0 & "@" & key1).Nodes(key0 & "@" & key1 & "@" & key2).Nodes(key0 & "@" & key1 & "@" & key2 & "@" & key3).Nodes.Add(key0 & "@" & key1 & "@" & key2 & "@" & key3 & "@" & key4, newTable4.Rows(z).Item("Description").ToString)


Dim dvTblview5 As DataView
dvTblview5 = New DataView(Inventory_ManagerDataSet.Tables("TblInv_AccessProject"), "father_id =" & key4, "", DataViewRowState.CurrentRows)
Dim newTable5 As DataTable = dvTblview5.ToTable()

Dim x As Integer
For x = 0 To newTable5.Rows.Count - 1
Dim key5 As String
key5 = newTable5.Rows(x).Item("id")
TreeView1.Nodes(key0).Nodes(key0 & "@" & key1).Nodes(key0 & "@" & key1 & "@" & key2).Nodes(key0 & "@" & key1 & "@" & key2 & "@" & key3).Nodes(key0 & "@" & key1 & "@" & key2 & "@" & key3 & "@" & key4).Nodes.Add(key0 & "@" & key1 & "@" & key2 & "@" & key3 & "@" & key4 & "@" & key5, newTable5.Rows(x).Item("Description").ToString)


Next
Next
Next

Next

Next
Next

End Sub

کد بالا رو از همین سایت قبلا برداشتم متاسفانه یادم نیست از کی بود.
اگه خوب تو سایت بگردی خیلی از این موارد پیدا می کنی