
รวมคำสั่งต่างๆของเมธอดสำหรับ Datagridview
1. ล้างคอลัมภ์ทั้งหมด
DataGridView1.Columns.Clear()
DataGridView1.Rows.Clear()
2. สร้างคอลัมภ์
DataGridView1.Columns.Add("eid", "Employee ID")
3. นับระเบียน (ถ้ามี Header แล้ว จำนวนเริ่มนับ Header ด้วย)
DataGridView1.Rows.Count()
DataGridView1.Columns.Count()
4. เพิ่มระเบียนเปล่า
DataGridView1.Rows.Add()
DataGridView1.Rows.Add()
DataGridView1.Rows.Add()
5. นำข้อมูลเข้าตาม Cell ที่ต้องการ โดย Rows = 0 คือระเบียนแรกของ Datagridview
DataGridView1.Rows(0).Cells(0).Value = "101"
DataGridView1.Rows(0).Cells("ename").Value = "บุรินทร์"
6. การนำค่าจาก Cell มาใช้
DataGridView1.CurrentRow.Cells("eid").Value
DataGridView1.CurrentCell.Value
7. กำหนดความกว้างของ Cell
DataGridView1.Columns.Item(1).Width = 150
8. สั่งซ่อนการแสดงผลระเบียนปัจจุบัน
DataGridView1.CurrentRow.Visible = False
9. อ่านข้อมูลทีละ Cell
For i As Integer = 0 To Datagridview1.rows.count() - 1
msgbox(DataGridView1.Rows(i).Cells("eid").Value)
Next
10. การนำข้อมูลจากตารางในแฟ้ม .mdb เข้า Datagridview แบบสั้น
Dim cn As New System.Data.OleDb.OleDbConnection ("provider=microsoft.jet.oledb.4.0;data source=c:\d.mdb")
Dim da As New System.Data.OleDb.OleDbDataAdapter("select * from tbthai", cn)
Dim ds As New DataSet
da.Fill(ds, "tb")
DataGridView1.DataSource = ds.Tables("tb")
11. การนำข้อมูลจากตารางในแฟ้ม .mdb เข้า Datagridview แบบแยกองค์ประกอบ
Dim conn As String
Dim cn As New System.Data.OleDb.OleDbConnection
Dim cm As New System.Data.OleDb.OleDbCommand
Dim da As New System.Data.OleDb.OleDbDataAdapter
Dim ds As New DataSet
conn = "provider=microsoft.jet.oledb.4.0;data source=c:\dthai97.mdb"
cn.ConnectionString = conn
cm.Connection = cn
cm.CommandText = "select * from tbthai"
da.SelectCommand = cm
da.Fill(ds, "tb")
DataGridView1.DataSource = ds.Tables("tb")
ตัวอย่าง 4.1 สร้างคอลัมภ์และเพิ่มระเบียนใหม่ในดาต้ากริดผ่าน Form_Load
- เพิ่มดาต้ากริดในฟอร์มผ่าน Design Time
DataGridView1.Columns.Add("eid", "Employee ID")
DataGridView1.Columns.Add("ename", "Employee Name")
Dim r As Integer = DataGridView1.Rows.Count() ' = 1 Header
r = DataGridView1.Rows.Count()
DataGridView1.Rows.Add()
DataGridView1.Rows(r - 1).Cells(0).Value = "101"
DataGridView1.Rows(r - 1).Cells(1).Value = "สมชาย"
r = DataGridView1.Rows.Count()
DataGridView1.Rows.Add()
DataGridView1.Rows(r - 1).Cells("eid").Value = "102"
DataGridView1.Rows(r - 1).Cells("ename").Value = "บุรินทร์"
ตัวอย่าง 4.2 คลิ๊กจากดาต้ากริดแล้วส่งข้อมูลเข้าเท็กบ็อกผ่าน event ชื่อ cellmouseclick
- แสดงการเลือกข้อมูลจากบรรทัดปัจจุบันตามชื่อคอลัมภ์ และใช้ข้อมูลจากเซลที่ถูกคลิ๊ก
- โดย eid คือ ชื่อคอลัมภ์ที่กำหนดในดาต้ากริด อาจกำหนดในฟอร์มโหลด หรือขณะออกแบบฟอร์ม
- ตัวอย่างนี้มี 1 textbox ให้เพิ่มเป็น 2 textbox ดูสิครับ
Private Sub DataGridView1_CellMouseClick( ...
MsgBox(DataGridView1.CurrentRow.Cells("eid").Value)
TextBox1.Text = DataGridView1.CurrentCell.Value.ToString
End Sub
ตัวอย่าง 4.3 อ่านข้อมูลจากแฟ้มแอคเซสส่งเข้าดาต้ากริดแบบใช้เอสคิวแอล
- ใช้การเชื่อมต่อแฟ้มข้อมูลแบบ microsoft.jet.oledb.4.0
- ต้อง Imports system.data.oledb เพื่อใช้คลาสอื่น เช่น OleDbCommand และ OleDbDataReader
- ผลการแก้ไขข้อมูลในดาต้ากริดไม่ส่งผลกลับไปยังแฟ้มแอคเซส
Private Sub Form1_Load( ...
Dim strconn As String = "provider=microsoft.jet.oledb.4.0;data source=c:\d.mdb"
Dim cn As New OleDbConnection(strconn)
cn.Open()
Dim cm As New OleDbCommand("select * from employees", cn)
Dim dr As OleDbDataReader = cm.ExecuteReader()
DataGridView1.Columns.Add("eid", "Employee ID")
DataGridView1.Columns.Add("ename", "Employee Name")
DataGridView1.Columns.Item(1).Width = 150
Do While dr.Read()
Dim x As Integer = DataGridView1.Rows.Count() - 1
DataGridView1.Rows.Add()
DataGridView1.Rows(x).Cells(0).Value = dr.Item(0)
DataGridView1.Rows(x).Cells(1).Value = dr.Item(1)
Loop
cn.Close()
End Sub
Private Sub Button1_Click( ...
DataGridView1.Columns.Clear()
End Sub
ตัวอย่าง 4.4 นำข้อมูลจากแฟ้มแอคเซสโยงเข้าดาต้ากริดและสั่งอัพเดทแฟ้มเดิม
- เชื่อมตารางชื่อ tbthai ในแฟ้มแอคเซสเข้ากับดาต้ากริด ถ้าต้องการใช้บางเขตข้อมูลก็ต้องใช้คิวรี่
- สั่งปรับปรุงตารางในแฟ้มแอคเซสผ่านการกดปุ่ม สามารถใช้คิวรี่ในแฟ้มแอคเซสแทนตารางได้
Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/d.mdb"
Dim cn As New System.Data.OleDb.OleDbConnection(strconn)
Dim da As New System.Data.OleDb.OleDbDataAdapter
Dim ds As New DataSet
Private Sub Form1_Load( ...
Dim sql as String = "select * from tbthai"
da.SelectCommand = New System.Data.OleDb.OleDbCommand(sql, cn)
da.Fill(ds, "tb")
DataGridView1.DataSource = ds.Tables("tb")
DataGridView1.Columns.Item(0).HeaderText() = "a"
End Sub
Private Sub Button1_Click( ...
Dim cb As New System.Data.OleDb.OleDbCommandBuilder(da)
Dim chg As Integer = da.Update(ds, "tb")
MsgBox(DataGridView1.Rows.Count())
End Sub
เครดิตจากคุณ wasin45
...
...