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事件为行校验完成事件,当然你也可以在单元格校验事件中进行保存。

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

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

posted @ 2010-10-13 22:30  缤纷夏日  阅读(2154)  评论(0编辑  收藏  举报