C# WinApp งงกับ BindingSource และ DataGridView ครับ

คือ ผมสร้างหน้าค้นหาโดยใช้ 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 ครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่