我遇到了以下情况:
try
{
Validate();
myBindingSource.MoveNext();
}
catch
{
if (MessageBox.Show("Do you want to keep editing the record?", "Error",
MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No)
{
myBindingSource.CancelEdit();
}
}
其中 myBindingSource.Datasource 是一个 DataTable,数据绑定文本框在验证时更新。
我将当前记录的数据绑定文本框更改为无效状态(例如重复主键)。当我调用上面的代码片段时,自然会引发异常。
在 catch 块中,数据表行的字段值已恢复为其原始值,但文本框值保持不变(我想要相同的文本框值)。
如果我再次调用相同的代码段,则不会引发异常(DataTable 具有正确的值)。
我的问题是如何使文本框再次将其数据发送到 DataTable?
PS 如果在第一次调用代码片段后更改文本框的值,DataSet 会收到更改。