تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في كود TreeView
#1
السلام عليكم اريد عمل الشجرة لتصنيف المصارف وفروعها 
مثلا مصرف الصحاري فرع عبد المنعم 
يعني المصرف وتحته فروعة
علما بأن لدي 
جدولين جدول Banks والحقول Num,Name
          جدول BranchesBanks والحقول  Num,Num, Num_Bra,Name_Bra
علما بان حقل Num في جدول الفروع هو مفتاح الفرعي لاضافة الفرع
PHP كود :
Con.Close()
 
       Dim SQLstr As String "Select * From Banks"
 
       Dim AccountDataSet As New DataSet
        Con
.Open()
 
       Dim AccTableAdapter As New SqlDataAdapter(SQLstrCon)
 
       AccTableAdapter.Fill(AccountDataSet"Banks")
 
       CreateTree()
 Private Sub CreateTree()
        TreeView1.BeginUpdate()
        TreeView1.Nodes.Clear()

        Dim MainHeader As New TreeNode("شجــرة المصــارف")

        MainHeader.Tag 0

        TreeView1
.Nodes.Add(MainHeader)

        AddSubNode(MainHeader)

        TreeView1.EndUpdate()
        TreeView1.ExpandAll()
        TreeView1.Select()
    End Sub
    
Private Sub AddSubNode(ByVal Node As TreeNode)
        Con.Close()
        Dim SQLstr As String "Select * From Banks"
        Dim AccountDataSet As New DataSet
        Con
.Open()
        Dim AccTableAdapter As New SqlDataAdapter(SQLstrCon)
        AccTableAdapter.Fill(AccountDataSet"Banks")
        Dim dv1 As DataView AccountDataSet.Tables("Banks").DefaultView

        dv1
.RowFilter "Num =" CType(Node.TagInteger)

        For Each drLine As DataRowView In dv1

            Dim SubNode 
As New TreeNode(drLine("Name"))

            SubNode.Tag drLine("Num").ToString

            Node
.Nodes.Add(SubNode)

            If Not SubNode.Tag Is String.Empty Then

                AddSubNode
(SubNode)

            End If
        Next

    End Sub 
التابع المصرف
الرد }}}
تم الشكر بواسطة:
#2
(20-01-19, 02:30 PM)Adata كتب : السلام عليكم اريد عمل الشجرة لتصنيف المصارف وفروعها 
مثلا مصرف الصحاري فرع عبد المنعم 
يعني المصرف وتحته فروعة
علما بأن لدي 
جدولين جدول Banks والحقول Num,Name
          جدول BranchesBanks والحقول  Num,Num, Num_Bra,Name_Bra
علما بان حقل Num في جدول الفروع هو مفتاح الفرعي لاضافة الفرع
PHP كود :
Con.Close()
 
       Dim SQLstr As String "Select * From Banks"
 
       Dim AccountDataSet As New DataSet
        Con
.Open()
 
       Dim AccTableAdapter As New SqlDataAdapter(SQLstrCon)
 
       AccTableAdapter.Fill(AccountDataSet"Banks")
 
       CreateTree()
 Private Sub CreateTree()
        TreeView1.BeginUpdate()
        TreeView1.Nodes.Clear()

        Dim MainHeader As New TreeNode("شجــرة المصــارف")

        MainHeader.Tag 0

        TreeView1
.Nodes.Add(MainHeader)

        AddSubNode(MainHeader)

        TreeView1.EndUpdate()
        TreeView1.ExpandAll()
        TreeView1.Select()
    End Sub
    
Private Sub AddSubNode(ByVal Node As TreeNode)
        Con.Close()
        Dim SQLstr As String "Select * From Banks"
        Dim AccountDataSet As New DataSet
        Con
.Open()
        Dim AccTableAdapter As New SqlDataAdapter(SQLstrCon)
        AccTableAdapter.Fill(AccountDataSet"Banks")
        Dim dv1 As DataView AccountDataSet.Tables("Banks").DefaultView

        dv1
.RowFilter "Num =" CType(Node.TagInteger)

        For Each drLine As DataRowView In dv1

            Dim SubNode 
As New TreeNode(drLine("Name"))

            SubNode.Tag drLine("Num").ToString

            Node
.Nodes.Add(SubNode)

            If Not SubNode.Tag Is String.Empty Then

                AddSubNode
(SubNode)

            End If
        Next

    End Sub 
التابع المصرف

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

تفضل هذه الاكواد الازمة لك 

وده شكل الفورم بعد تعبئه الاكواد

تحياتى 

[attachment=20654]

1 - 
Public Class frmBankbBranch
      Dim TVGroup As TreeNode
    Dim TVDet As TreeNode
    Dim TVSubDet As TreeNode

2 - 
 Sub FillTree()
        tv.Nodes.Clear()
        lblMyselect.Text = "............................"
        txtSearchTree.Enabled = True
        Dim dtGroup As DataTable = FillDatatree("Select * from tblGl_Bank where BankID <> 0 order by BankID")
        For Each drGroup As DataRow In dtGroup.Rows
            TVGroup = New TreeNode(drGroup("BankID") & " - " & drGroup("BankName"))
            TVGroup.Tag = drGroup("BankID")
            tv.Nodes.Add(TVGroup)
            Details(TVGroup)
        Next
    End Sub

3 - 
 Private Sub Details(tvDetails As TreeNode)
        Dim dtDeti As DataTable = FillDatatree("Select Bank_BranchID,Bank_BranchName from tblGl_BankBranch  where Bank_ID = " & TVGroup.Tag)
        For Each drDeti As DataRow In dtDeti.Rows
            TVDet = New TreeNode(drDeti("Bank_BranchID") & " - " & drDeti("Bank_BranchName"), 1, 1)
            TVDet.Tag = drDeti("Bank_BranchID")
            tvDetails.Nodes.Add(TVDet)
        Next
    End Sub

4 - 
 Private Sub frmBankbBranch_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 FillTree()
الرد }}}
تم الشكر بواسطة: sendbad100 , elgokr
#3
بارك الله فيك ولكن ماهو تعريف FillDatatree من بعد اذنك
الرد }}}
تم الشكر بواسطة:
#4
معذرة اخى الكريم 

تفضل 

 Public Function FillDatatree(SQL As String) As DataTable
        Dim dt As New DataTable
        da = New SqlDataAdapter(SQL, Conn)
        da.Fill(dt)
        Return dt
    End Function

وده موديل منفصل
الرد }}}
تم الشكر بواسطة: sendbad100 , elgokr , elgokr
#5
تمام بس ماعرفتش الخطأ بتطلع فاضية الشجرة
الرد }}}
تم الشكر بواسطة:
#6
بارك الله فيك نجحت الطريقة
الرد }}}
تم الشكر بواسطة: elgokr
#7
(20-01-19, 09:35 PM)Adata كتب : بارك الله فيك نجحت الطريقة


احسنت ،، بالتوفيق للجميع
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: mmali127 , elgokr
#8
(20-01-19, 09:35 PM)Adata كتب : بارك الله فيك نجحت الطريقة

الحمد لله رب العالمين 

جعله الله فى ميزان حسنات كل اعضاء ومشرفى المنتدى الكرام 

الذى تعلمنا منه الكتير وكان منصة لكل طالب علم 

تحياتى للجميع
الرد }}}
تم الشكر بواسطة: elgokr



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


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