Winform中的DataGridView控件内容自动保存

DataGridView控件在Winform程序中使用相当的普遍,如何能让其输入即保存,而不用另增加一个“保存”按钮呢?

经研究,终于找到解决办法:

在DataGridView的RowValidated事件中增加代码以下代码

 

  
    
// 获取该行绑定数据
DataRowView row = (DataRowView)gvProduct.Rows[e.RowIndex].DataBoundItem;
// 若数据未改动,则返回
if (row.Row.RowState == DataRowState.Unchanged) return ;
// 执行SQL更新数据
string sql = " update t_product set ipri={0},opri={1} where productNO='{2}' " ;
DBsql.ExecuteNonQuery(
string .Format(sql, row[ " ipri " ], row[ " opri " ], row[ " productNO " ]));
// 告知DataGridView,已接受改动,下次校验时行状态为DataRowState.Unchanged
row.Row.AcceptChanges();

 

 

RowValidated事件为行校验完成事件,当然你也可以在单元格校验事件中进行保存。

 完成这样的效果,使程序变得傻瓜化。

就这是软件易用性的典范.

你可能感兴趣的:(datagridview)