 |
|
สอบถามครับ ติดปัญหาการดึงข้อมูลมาโชว์ใน Datagridview ที่เป็นลูกของฟอร์มหลัก [Vb.net+MySQL] |
|
 |
|
|
 |
 |
|
ลองดูตัวอย่างนี้ครับ

C# การเอา DataGridView มาสร้าง เป็นฟอร์มค้นหา (Search) แบบบ้าน ๆๆ
|
 |
 |
 |
 |
Date :
2015-11-14 07:40:24 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดันๆ ครับ ไม่มีใครเคยเจอปัญหาแบบนี้เลยหรอครับ
|
 |
 |
 |
 |
Date :
2015-11-26 18:25:33 |
By :
Jamesillion |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อืมไม่ได้เขียน vb นาน เลยลองเล่นๆดูครับ
ออกแบบฟอร์มแรกง่ายๆ (Form1)

มีปุ๋มเปิดฟอร์มสอง
Code (VB.NET)
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim frm = New Form2
frm.ShowDialog()
Me.TextBox1.Text = frm.productId
Me.TextBox2.Text = frm.productName
Me.TextBox3.Text = frm.productPrice
End Sub
End Class
จากนั้นที่ฟอร์มสองก็มี DataGridView1

กำหนด Event CellDoubleClick ของ DataGridView1
Code (VB.NET)
Public Class Form2
Public productId As String
Public productName As String
Public productPrice As String
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call AddRowDatagrid()
End Sub
Sub AddRowDatagrid()
'Me.DataGridView1.Rows.Add()
DataGridView1.ColumnCount = 3
DataGridView1.Columns(0).Name = "Product ID"
DataGridView1.Columns(1).Name = "Product Name"
DataGridView1.Columns(2).Name = "Product_Price"
Dim row As String() = New String() {"1", "Product 1", "1000"}
DataGridView1.Rows.Add(row)
row = New String() {"2", "Product 2", "2000"}
DataGridView1.Rows.Add(row)
row = New String() {"3", "Product 3", "3000"}
DataGridView1.Rows.Add(row)
row = New String() {"4", "Product 4", "4000"}
DataGridView1.Rows.Add(row)
End Sub
Private Sub DataGridView1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
Dim selectedRow = DataGridView1.Rows(e.RowIndex)
productId = selectedRow.Cells(0).Value.ToString()
productName = selectedRow.Cells(1).Value.ToString()
productPrice = selectedRow.Cells(2).Value.ToString()
End If
Me.Close()
End Sub
End Class
ลองเอาไปสร้างตามนี้และรันดูครับ และประยุกต์ใช้เองนะครับ
|
 |
 |
 |
 |
Date :
2015-11-27 09:10:23 |
By :
บัญดิษฐ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดูโค้ดทั้งสองฟอร์มหน่อยครับ
|
 |
 |
 |
 |
Date :
2015-11-27 20:05:20 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ได้แล้วครับพี่ๆ ใช้วิธีของคุณ บัญดิษฐ ครับ ต้องขออภัยตอนแรกผมผิดพลาดเองครับ แห่ะๆ เปลี่ยนแค่ตัวแปลนิดหน่อยครับ สำหรับคนที่เจอปัญหาเดียวกันลองปรับใช้ดูครับ อย่างน้อยก็พอถูๆ ไถๆ ไปก่อน เพราะใกล้วัน Presert โปรเจคจบแล้ว ขอบคุณพื้นที่ Thaicreate ที่ให้ทั้งประสบการณ์และข้อมูลดีๆ เสมอมาครับ   
เริ่มจากประกาศจากข้างบนของฟอร์มค้นหาครับ
Code (VB.NET)
Public MemID1 As String
Public Title1 As String
Public Name1 As String
Public LName1 As String
Public IDCard1 As String
Public Address1 As String
Public Phone1 As String
Public Mail1 As String
ต่อมาก็มากำหนดค่าใน Datagridview ของฟอร์มค้นหาครับ
Code (VB.NET)
Public Sub DataGridView1_CellMouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
Dim selectedRow = DataGridView1.Rows(e.RowIndex)
MemID1 = selectedRow.Cells(0).Value.ToString()
Title1 = selectedRow.Cells(1).Value.ToString()
Name1 = selectedRow.Cells(2).Value.ToString()
LName1 = selectedRow.Cells(3).Value.ToString()
IDCard1 = selectedRow.Cells(4).Value.ToString()
Address1 = selectedRow.Cells(5).Value.ToString()
Phone1 = selectedRow.Cells(6).Value.ToString()
Mail1 = selectedRow.Cells(7).Value.ToString()
End If
Me.Close()
end sub
จากนั้นกลับไปฟอร์ม Rent ครับ แล้วกำหนดค่าให้ textbox เวลาเราเรียกข้อมูลจากฟอร์มค้นหาครับ
Code (VB.NET)
Public Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
Dim r As SMem = New SMem()
r.ShowDialog()
Me.txtMemID.Text = r.MemID1
Me.cboTitle.Text = r.Title1
Me.txtName.Text = r.Name1
Me.txtLName.Text = r.LName1
Me.txtMemIDCard.Text = r.IDCard1
Me.txtAddress.Text = r.Address1
Me.txtPhoneNumber.Text = r.Phone1
Me.txtEMail.Text = r.Mail1
End Sub
|
 |
 |
 |
 |
Date :
2015-11-27 20:41:13 |
By :
Jamesillion |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|