DataTable.RejectChanges()和刷新表单文本框控件

时间:2009-04-08 02:40:25

标签: c# datagridview

我正在研究C#中的框架理解。我有一个表单,在表单上有简单的添加/编辑,保存/取消(和退出)按钮。表单有一个网格和一个绑定到它的数据表(数据表是表单上的一个字段,用于保留表单的持续时间范围)。

同样在表单上有3个简单的文本框控件绑定到DataTable中的各个列。当我滚动网格时,文本框细节会自动刷新...完美。

我添加/取消协调工作正常,但编辑/取消失败。未能履行以下规定。

我启动表单,网格显示3行(第1列是一个简单的“描述”)。第一行的值为Test(因此在表单上显示相应的绑定单个文本框控件)。我单击编辑按钮,现在可以更改单个文本框(而不是数据网格)并将其更改为Test changed value

所以,现在,我点击“取消”按钮,希望以下内容......网格不会使用新值更新,并且单个文本框控件将返回其原始Test值。

在“取消”按钮中,我发出MyDataTable.RejectChanges(),网格正确保留原始Test值,但文本框控件保留Test changed value内容。当我在添加/取消组合期间进行相同的RejectChanges()调用时,一切都运行良好。

为了在添加/取消期间模拟类似的东西,我明确强制网格到数据表中的最后一个有效行,后者又反过来更新文本框...显然,在{{的调用/重新加载过程中有些东西1}}被触发做了我看不到的事情。由于它是一个EDIT,我不是从表中删除一行(临时从“添加”),然后拒绝(删除),并通过MyDataGridView.CurrentRow强制进行行更改。

任何想法都会很棒。

0 个答案:

没有答案