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 @ 2011-08-28 22:40  小锋神  阅读(2109)  评论(1编辑  收藏  举报