更新dataGridView在winform应用程序
本文关键字:应用程序 winform dataGridView 更新 | 更新日期: 2023-09-27 18:04:17
我在我的winform应用程序中有一个dataGridView,我用这样的数据集显示了DAL类的数据
DataSet ds2 = DAL.Display_all();
dataGridView1.DataSource = ds2;
dataGridView1.DataMember = "To_display";
我怎么能更新回我的数据,如果有人改变数据在gridView(我需要砂回DAL类)?
使用DataAdapter.Update
方法
传递DataSet
作为参数。
在调用Update方法之前,您可以使用DataSet.HasChanges
来查看是否有任何更改。
try this:
dataGridView1.ResetBindings();
使绑定到BindingSource的控件重新读取列表中的所有项并刷新它们的显示值。MSDN
如果循环遍历DataGridView的每一行,则可以使用下面的方法获取特定行上指定列的值。
private T GetDataGridViewTextBoxValue<T>(int rowIndex, string columnName)
{
try
{
return (T)Convert.ChangeType(dataGridViewImport.Rows[rowIndex].Cells[columnName].Value, typeof(T));
}
catch (Exception e)
{
throw new InvalidOperationException(String.Format("Row : {0}, column : {1} could not be cast to {2}", rowIndex, columnName, typeof(T)), e);
}
}
你可以这样使用这个方法。
for(int i=0;i< ds2.Tables[0].Rows.Count(); i++)
{
var column1 = GetDataGridViewTextBoxValue<string>(i, "column1");
//Get the rest of the row values.
//In your DAL class you must have a Method that updates the row
//and then just pass in the values that you want.
}