如何选择完整的DataGridView并更新它
本文关键字:DataGridView 更新 何选择 选择 | 更新日期: 2023-09-27 18:01:38
在Form1()
中,我从db1获得所有数据。btnGetDb1_Click()
是更新db2数据库的代码。从dataGridView1
中选择特定行是成功的。如何实现这一点,而不选择任何行从dataGridView1
和更新所有行在一起?
public Form1()
{
InitializeComponent();
DataSet dsForDb1 = new DataSet();
dsForDb1 = client.GetAllFromDb1(); // Got All The Data From db1
dataGridView1.DataSource = dsForDb1.Tables[0];
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}
private void btnGetDb1_Click(object sender, EventArgs e)
{
// Start Updating from db1
ServiceReference1.UserDetails objuserdetail =
new ServiceReference1.UserDetails();
objuserdetail.ID = (int)dataGridView1.CurrentRow.Cells[0].Value;
objuserdetail.Name = (string)dataGridView1.CurrentRow.Cells[1].Value;
objuserdetail.Age = (string)dataGridView1.CurrentRow.Cells[2].Value;
client.UpdateDb2(objuserdetail); // To Update the Data
MessageBox.Show("Data Updated Successfully");
client.Close();
}
dataGridView1上的DataBound事件将在数据绑定完成时触发。此时,您可以遍历GridView。Rows集合,以获取更新第二个数据库所需的数据。
如何做到这一点取决于你正在使用的数据库和你可能在dataGridView1中拥有的行数-理想情况下,如果有数百行,你不想为每一行触发单独的查询,所以如果你的DBMS允许,请查看使用表值参数或等效参数。
private void dataGridView1_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in dataGridView1.Rows)
{
......
}
}