[VB.NET] การสร้าง DataTable และจำลองข้อมูลให้กับตารางกริด
http://www.g2gnet.com/webboard/images/vbnet/datatablegrid.pngDataTable ก็คือตารางข้อมูลนั่นเอง โดยเกิดจากการสร้างฟิลด์ข้อมูล (Field) หรือหลัก (Column) ที่เราต้องการจัดเก็บ เช่น ชื่อพนักงาน ตำแหน่ง สังกัด เป็นต้น โดยแหล่งที่มาของข้อมูลมาได้หลายทาง เช่น ฐานข้อมูล, เอกสาร XML/JSon, ข้อมูลไฟล์ Excel หรือแม้แต่การสร้างขึ้นมาเอง สำหรับบทความชุดนี้จะใช้ชุดการจำลองข้อมูล แทนการเชื่อมต่อฐานข้อมูล ประโยชน์ก็คือเราสามารถนำข้อมูลตัวอย่างไปใช้งานทดสอบโปรแกรมต่างๆได้อย่างรวดเร็ว เช่น การทำรายงาน การสร้างปุ่มคำสั่งตามจำนวนรายการที่มีอยู่ เป็นต้น ...
ตัวอย่างของ DataTable ... หากเราเลือกในแต่ละหลัก มันคือ DataColumn หากเราเลือกในแต่ละแถว มันคือ DataRow ...
http://www.g2gnet.com/webboard/images/vbnet/datatablebasic.png
มาดูโค้ดตัวอย่างฉบับเต็มกันเถอะ ...
Imports System.Data
Public Class frmDataTable
Private Sub frmDataTable_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Call SetupGridView(dgvData)
End Sub
Private Sub SetupGridView(ByRef DGV As DataGridView)
With DGV
.RowHeadersVisible = True
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToResizeRows = False
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.ReadOnly = True
'// Data rows
.Font = New Font("Tahoma", 10)
.RowTemplate.MinimumHeight = 27
.RowTemplate.Height = 27
'// Column Header
.ColumnHeadersHeight = 30
.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
'// Autosize Column
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
'// Even-Odd Color
.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen
.DefaultCellStyle.SelectionForeColor = Color.White
'// Header
With .ColumnHeadersDefaultCellStyle
.BackColor = Color.Navy
.ForeColor = Color.White
.Font = New Font(DGV.Font, FontStyle.Bold)
End With
End With
End Sub
Private Sub btnDataTable_Click(sender As System.Object, e As System.EventArgs) Handles btnDataTable.Click
'/ เรียกไปยังฟังค์ชั่น GetDataTable จากนั้นมันจะ Return DataTable กลับมาให้กับ DataSource ของ DataGridView
dgvData.DataSource = GetDataTable()
End Sub
Function GetDataTable() As Data.DataTable
Dim dt As New Data.DataTable
' / เพิ่มหลัก (Columns) หรือฟิลด์ จำนวน 6 หลัก
With dt
.Columns.Add("EmployeePK", GetType(Integer))
.Columns.Add("EmployeeID", GetType(String))
.Columns.Add("EmployeeName", GetType(String))
.Columns.Add("Position", GetType(String))
.Columns.Add("Department", GetType(String))
.Columns.Add("HireDate", GetType(Date))
End With
' / เพิ่มรายการข้อมูล (Record) เรียงตามลำดับฟิลด์
With dt
.Rows.Add("1", "EMP00001", "นายทองก้อน ทับทิมกรอบ", "Managing Director", "Management", "01/01/2555")
.Rows.Add("2", "EMP00002", "นายบุญห่อ พ่อรวย", "ช่างซ่อมบำรุง", "Technical", "01/06/2555")
.Rows.Add("3", "EMP00003", "นางสาวกุ๊กกิ๊ก น่ารักที่สุด", "เลขา", "Management", "25/02/2555")
.Rows.Add("4", "EMP00004", "นางบัวผัน ฝันเฟื่อง", "หัวหน้าบัญชี", "บัญชี", "11/11/2555")
.Rows.Add("5", "EMP00005", "หนูมาลี มีลูกแมวเหมียว", "ธุรการ", "ธุรการ", "13/04/2555")
End With
Return dt
End Function
End Class
ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่ ...
ขอบคุณครับ
หน้า:
[1]