微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在更改显示内容之前,我将如何检查winform上的所有控件以确保没有对它们进行编辑?

如何解决在更改显示内容之前,我将如何检查winform上的所有控件以确保没有对它们进行编辑?

| 技术:C#、. Net,Winforms 我有一个主要形式,可以从数据库提取数据,并填充许多不同的控件。标签,文本框,DataRepeaters,DataGridView和选项卡也填充了这些类型的控件。 但是,数据也以这样的方式被拉出:通过BindingNavigator在此表单上有多个“记录”。 由于代码的结构,我无法轻松地在正在验证的任何控件上调用DataAdaptor.update()(使用与之关联的DataTable),所以我将使用提交按钮代替。 我想知道的是“如何检查所有控件以查看它们是否已被编辑?” 我正在使用绑定的导航器按钮作为\“ FindEditedControls()\”的触发器 当前解决方案:
DataTable dt = db.GetTable();
dt.RowChanged += new DaTarowChangeEventHandler(dtUpdated);

private void dtUpdated(object sender,DaTarowChangeEventArgs e)
{
    needsCommit = true;
}
该按钮仅检查needsCommit布尔变量。如果为true,则要求用户先提交更改,然后再继续。如果他们单击\“是\”,则它将数据提交到数据库。 如果这是您得到的,我想谢谢您。这与DataGridViews配合得很好。现在使用标准表单控件进行测试。     

解决方法

        参加
DataTable.RowChanged
事件。触发时,您的控件之一已被编辑。 然后,可以检查ѭ​​2ѭ属性中要绑定的行的
DataRowState.Modified
值。     ,        从与其绑定的数据中为每个控件分配一个签名,然后使用控件的值检查该签名。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。