ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 3336|ตอบกลับ: 1

[VB.NET] การสร้าง DataTable และจำลองข้อมูลให้กับตารางกริด

[คัดลอกลิงก์]

308

กระทู้

498

โพสต์

5971

เครดิต

ผู้ดูแลระบบ

ทองก้อน ทับทิมกรอบ

Rank: 9Rank: 9Rank: 9

เครดิต
5971




DataTable ก็คือตารางข้อมูลนั่นเอง โดยเกิดจากการสร้างฟิลด์ข้อมูล (Field) หรือหลัก (Column) ที่เราต้องการจัดเก็บ เช่น ชื่อพนักงาน ตำแหน่ง สังกัด เป็นต้น โดยแหล่งที่มาของข้อมูลมาได้หลายทาง เช่น ฐานข้อมูล, เอกสาร XML/JSon, ข้อมูลไฟล์ Excel หรือแม้แต่การสร้างขึ้นมาเอง สำหรับบทความชุดนี้จะใช้ชุดการจำลองข้อมูล แทนการเชื่อมต่อฐานข้อมูล ประโยชน์ก็คือเราสามารถนำข้อมูลตัวอย่างไปใช้งานทดสอบโปรแกรมต่างๆได้อย่างรวดเร็ว เช่น การทำรายงาน การสร้างปุ่มคำสั่งตามจำนวนรายการที่มีอยู่ เป็นต้น ...


ตัวอย่างของ DataTable ... หากเราเลือกในแต่ละหลัก มันคือ DataColumn หากเราเลือกในแต่ละแถว มันคือ DataRow ...



มาดูโค้ดตัวอย่างฉบับเต็มกันเถอะ ...
  1. Imports System.Data

  2. Public Class frmDataTable

  3.     Private Sub frmDataTable_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  4.         Call SetupGridView(dgvData)
  5.     End Sub

  6.     Private Sub SetupGridView(ByRef DGV As DataGridView)
  7.         With DGV
  8.             .RowHeadersVisible = True
  9.             .AllowUserToAddRows = False
  10.             .AllowUserToDeleteRows = False
  11.             .AllowUserToResizeRows = False
  12.             .MultiSelect = False
  13.             .SelectionMode = DataGridViewSelectionMode.FullRowSelect
  14.             .ReadOnly = True
  15.             '// Data rows
  16.             .Font = New Font("Tahoma", 10)
  17.             .RowTemplate.MinimumHeight = 27
  18.             .RowTemplate.Height = 27
  19.             '// Column Header
  20.             .ColumnHeadersHeight = 30
  21.             .ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
  22.             '// Autosize Column
  23.             .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
  24.             '// Even-Odd Color
  25.             .AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen
  26.             .DefaultCellStyle.SelectionForeColor = Color.White
  27.             '// Header
  28.             With .ColumnHeadersDefaultCellStyle
  29.                 .BackColor = Color.Navy
  30.                 .ForeColor = Color.White
  31.                 .Font = New Font(DGV.Font, FontStyle.Bold)
  32.             End With
  33.         End With
  34.     End Sub

  35.     Private Sub btnDataTable_Click(sender As System.Object, e As System.EventArgs) Handles btnDataTable.Click
  36.         '/ เรียกไปยังฟังค์ชั่น GetDataTable จากนั้นมันจะ Return DataTable กลับมาให้กับ DataSource ของ DataGridView
  37.         dgvData.DataSource = GetDataTable()
  38.     End Sub

  39.     Function GetDataTable() As Data.DataTable
  40.         Dim dt As New Data.DataTable
  41.         ' / เพิ่มหลัก (Columns) หรือฟิลด์ จำนวน 6 หลัก
  42.         With dt
  43.             .Columns.Add("EmployeePK", GetType(Integer))
  44.             .Columns.Add("EmployeeID", GetType(String))
  45.             .Columns.Add("EmployeeName", GetType(String))
  46.             .Columns.Add("Position", GetType(String))
  47.             .Columns.Add("Department", GetType(String))
  48.             .Columns.Add("HireDate", GetType(Date))
  49.         End With
  50.         ' / เพิ่มรายการข้อมูล (Record) เรียงตามลำดับฟิลด์
  51.         With dt
  52.             .Rows.Add("1", "EMP00001", "นายทองก้อน ทับทิมกรอบ", "Managing Director", "Management", "01/01/2555")
  53.             .Rows.Add("2", "EMP00002", "นายบุญห่อ พ่อรวย", "ช่างซ่อมบำรุง", "Technical", "01/06/2555")
  54.             .Rows.Add("3", "EMP00003", "นางสาวกุ๊กกิ๊ก น่ารักที่สุด", "เลขา", "Management", "25/02/2555")
  55.             .Rows.Add("4", "EMP00004", "นางบัวผัน ฝันเฟื่อง", "หัวหน้าบัญชี", "บัญชี", "11/11/2555")
  56.             .Rows.Add("5", "EMP00005", "หนูมาลี มีลูกแมวเหมียว", "ธุรการ", "ธุรการ", "13/04/2555")
  57.         End With
  58.         Return dt
  59.     End Function
  60. End Class
คัดลอกไปที่คลิปบอร์ด


ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่ ...

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

0

กระทู้

58

โพสต์

10

เครดิต

Member

Rank: 2

เครดิต
10
โพสต์ 2022-10-25 14:58:43 | ดูโพสต์ทั้งหมด

ขอบคุณครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-3-28 22:23 , Processed in 0.200649 second(s), 4 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้