MySql Veritabanındaki Tabloları Kullanarak TreeView da Parent, Child TreeNode lar Oluşturmak

Merhaba arkadaşlar bu makalemizde TreeView da açılabilen parent, child node lar oluşturacağız. Oluşturacağımız parent ve child Treenode ların bilgilerini Mysql veritabanımızdaki tablolardan alacağız.

 

Bu örneğimizde IT, Sales ana başlıklarının altında çalışanların ismini göstereceğiz. İlk önce aşağıdaki gibi veritabanı tablolarımızı oluşturalım.

 

department tablomuz,

 

 


 

 

Şekil 1


 


 

 

 

 

Şekil 2

 

staff tablomuz,  





 

 

 

 

 

 

Şekil 3


 


 

 

 

 

 

 

 

 

 

 

Şekil 4

 

 


 

 

 

 

 

 

 

 

 

 

Şekil 5


 

Form1.vb

 

Imports System.Runtime.InteropServices

Imports MySql.Data.MySqlClient

 

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

 

        Dim dt As DataTable = Me.GetData("Select Id,FirstName From department")

        Me.PopulateTreeView(dt, 0, Nothing)

 

    End Sub

 

    Private Sub PopulateTreeView(dtParent As DataTable, parentId As Integer, treeNode As TreeNode)

        For Each row As DataRow In dtParent.Rows

            Dim child As New TreeNode() With {

             .Text = row("FirstName").ToString(),

             .Tag = row("Id")

            }

            If parentId = 0 Then

                TreeView1.Nodes.Add(child)

                Dim dtChild As DataTable = Me.GetData("Select Id, FirstName From staff Where DeptTypeId = " & child.Tag)

                PopulateTreeView(dtChild, Convert.ToInt32(child.Tag), child)

            Else

                treeNode.Nodes.Add(child)

            End If

        Next

    End Sub

 

    Private Function GetData(query As String) As DataTable

        Dim dt As New DataTable()

        Dim constr As String = "Server=localhost;Database=dbemployee;Uid=root;Pwd='2344';AllowUserVariables=True;UseCompression=True;"

        Using con As New MySqlConnection(constr)

            Using cmd As New MySqlCommand(query)

                Using sda As New MySqlDataAdapter()

                    cmd.CommandType = CommandType.Text

                    cmd.Connection = con

                    sda.SelectCommand = cmd

                    sda.Fill(dt)

                End Using

            End Using

            Return dt

        End Using

    End Function

End Class

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede bulusmak uzere. Bahadir Sahin

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...