cleo-凡事从积极的态度做起

学习,学习,学习 BI/biztalk/infopath/sharepoint,呵呵。 学习没有止境。。。

导航

使用VS2005新功能的Tips:this.Validate();这一句话,让我找了好久。

背景:
.net 2.0 Forms有新的功能,可以根据一个强类型的DataSet生成一套数据的维护界面。
最佳使用场景是使用直接连接数据库修改数据,但是我使用的是WebService来维护数据,所以还是要自己定义提交的功能。

细节:
Form上的DataGridView直接绑定DataSet,修改删改等先操作的是本地的副本,只有点击保存才通过查找本地DataSet有哪些数据被修改,然后把修改的数据通过WebService提交到数据库。

状况:
修改当前行资料之后,只有手动离开当前行,我才能在DataSet里面得到所作的修改,换句话说,如果我直接没有离开当前行,点击“保存”(保存有自定义的保存方法),则无法取得DataGridView所作的修改。

尝试:
我使用promptTypeBindingSource.EndEdit();这个语句虽然可以使得结束编辑状态,却无法达到我想要的。

想起:
如果我使用微软经典的应用场景,保存代码是会自动生成的,所以我新建了一个项目,察看他的代码。

解决:
原来是需要this.Validate();

完整一点就是:

this.Validate();
promptTypeBindingSource.EndEdit(); 
//结束编辑
this.dsRules.UpdateWebService();//提交DataSet的修改

posted on 2006-04-20 18:30  无为而为-凡事从积极的态度做起  阅读(2234)  评论(3编辑  收藏  举报