Yazı Font Küçült Yazı Font Büyült

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,

 

 

 

Resim1

Şekil 1

 

 

 

Resim2

Şekil 2

 

staff tablomuz,  



Resim3

Şekil 3

 

 

 

Resim4

Şekil 4

 

 

 

Resim5

Ş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 StringAs 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