คือ ผมสร้างหน้าค้นหาโดยใช้ BindingSource และ DataGridView
โค้ด ประมาณนี้ครับ
this.tblReagent_rTableAdapter.Fill(this.dataDataSet.tblReagent_r);
// biIDTextBox.Enabled = false;
if (biID == "")
{
tblReagent_rBindingSource.Filter = "biID IS NULL";
tblReagent_rBindingSource.AddNew();
}
else
{
biIDTextBox.Text = biID;
tblReagent_rBindingSource.Filter = "biID = '" + biID + "'";
}
โดยที่รับ biID มาแล้วก็ค้นหา จาก
tblReagent_rBindingSource.Filter = "biID = '" + biID + "'";
จะได้ดังรูปครับ
ทีนี้ถ้า User จะเปลี่ยน biID ใน DataGridView
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < tblReagent_rDataGridView.RowCount - 1; i++)
{
tblReagent_rDataGridView[1, i].Value = biIDTextBox.Text;
}
}
ซึ่ง ยังไม่ได้บันทึกหรือแก้ไข tblReagent_rBindingSource นะครับ
ผลที่ได้ก็ออกมาเป็นแบบนี้
คือมันเปลี่ยนไม่หมด และ แถวยังหายไปด้วย ครับ
ปล. ผมเชื่อมต่อ BindingSource กับ Dataset โดยใช้ Datasourcewizard ครับ
C# WinApp งงกับ BindingSource และ DataGridView ครับ
โค้ด ประมาณนี้ครับ
// biIDTextBox.Enabled = false;
if (biID == "")
{
tblReagent_rBindingSource.Filter = "biID IS NULL";
tblReagent_rBindingSource.AddNew();
}
else
{
biIDTextBox.Text = biID;
tblReagent_rBindingSource.Filter = "biID = '" + biID + "'";
}
โดยที่รับ biID มาแล้วก็ค้นหา จาก
ทีนี้ถ้า User จะเปลี่ยน biID ใน DataGridView
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < tblReagent_rDataGridView.RowCount - 1; i++)
{
tblReagent_rDataGridView[1, i].Value = biIDTextBox.Text;
}
}
ซึ่ง ยังไม่ได้บันทึกหรือแก้ไข tblReagent_rBindingSource นะครับ
ผลที่ได้ก็ออกมาเป็นแบบนี้
คือมันเปลี่ยนไม่หมด และ แถวยังหายไปด้วย ครับ
ปล. ผมเชื่อมต่อ BindingSource กับ Dataset โดยใช้ Datasourcewizard ครับ