20-02-19, 04:39 PM
(آخر تعديل لهذه المشاركة : 20-02-19, 04:43 PM {2} بواسطة asemshahen5.)
1- افتح جدول قاعدة البيانات و احذف دليل الحسابات .
2- اعمل مديول جديد في المشروع و امسح كل الذي كتبته من الاكواد السابقة و اكتب داخل المديول التالي :
3 - افتح الفورم الحدث لود وضع به الكود التالي :
4 - قبل التشغيل ضع ImageList على الفورم و ضع به من 3 الى 10 صور ثم شغل المشروع و باذن الله سيعمل .
2- اعمل مديول جديد في المشروع و امسح كل الذي كتبته من الاكواد السابقة و اكتب داخل المديول التالي :
PHP كود :
Module FillTreeViewXT
#Region "Load Tree View From Database"
Dim nds As TreeNodeCollection
Public Sub CreateTree(ByVal TreeView1 As TreeView, ByVal TreeViewRootName As String, _
ByVal DTable As DataTable, ByVal ColomnName As String, ByVal ColType As String, _
ByVal ColID As String, ByVal MainHeaderImageIndex As Integer)
TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()
Dim MainHeader As New TreeNode(TreeViewRootName)
MainHeader.Tag = 0
MainHeader.ImageIndex = MainHeaderImageIndex
MainHeader.SelectedImageIndex = MainHeader.ImageIndex
TreeView1.Nodes.Add(MainHeader)
AddSubNode(MainHeader, DTable, ColomnName, ColType, ColID)
TreeView1.EndUpdate()
TreeView1.ExpandAll()
TreeView1.Select()
FindNodeByText(TreeView1, TreeViewRootName)
End Sub
Private Sub FindNodeByText(ByVal MTree As TreeView, ByVal Mvalue As String)
MTree.ExpandAll()
Dim Node As TreeNode = MTree.Nodes.Item(0)
While Not Node Is Nothing
If Node.Text.Contains(Mvalue.Trim) Then
Node.BackColor = Color.BurlyWood
Node.Checked = True
MTree.SelectedNode = Node
Else
Node.BackColor = Color.White
Node.Checked = False
End If
Node = Node.NextVisibleNode
End While
End Sub
Private Sub AddSubNode(ByVal Node As TreeNode, ByVal DTable As DataTable, ByVal ColomnName As String, ByVal ColType As String, ByVal ColID As String)
Dim dv1 As DataView = DTable.DefaultView
Dim strt As String = String.Empty
strt = ColType & " ="
dv1.RowFilter = strt & CType(Node.Tag, Integer)
For Each drLine As DataRowView In dv1
Dim SubNode As New TreeNode(drLine(ColomnName).ToString)
SubNode.Tag = drLine(ColID).ToString
SubNode.ImageIndex = Node.Level
SubNode.SelectedImageIndex = SubNode.ImageIndex
Node.Nodes.Add(SubNode)
If Not SubNode.Tag = 0 Then
AddSubNode(SubNode, DTable, ColomnName, ColType, ColID)
End If
Next
End Sub
#End Region
End Module
3 - افتح الفورم الحدث لود وضع به الكود التالي :
PHP كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim DT As New DataTable
DT.Clear()
Dim Conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data source=|DataDirectory|\Treedb.accdb;")
If Conn.State = ConnectionState.Closed Then Conn.Open()
Dim sql As String = "SELECT RootID, RootName, ParentID, RootLevel, RootID & ' : ' & RootName as MyRoot FROM tblRoots Order By RootID"
Dim da As New OleDb.OleDbDataAdapter(sql, Conn)
da.Fill(DT)
CreateTree(TreeView1, "دليل الحسابات", DT, "MyRoot", "ParentID", "RootID", 0)
End Sub
4 - قبل التشغيل ضع ImageList على الفورم و ضع به من 3 الى 10 صور ثم شغل المشروع و باذن الله سيعمل .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
