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
0 comments:
Yorum Gönder