更新
我想我已经找到了问题。
影响绑定源的所有表单事件最终都有这个:
BndSource.ResetBindings(false);
如果我在CheckedChanged事件处理程序中注释此行,则问题将停止。但为什么呢?
我有一个非常奇怪的错误。
我有一个类属性:
public SqlByte AutomaticFlag { get; set; }
我想使用复选框来方便显示,所以在初始进行中我这样做:
dtaAutomaticFlag.DataBindings.Add("Checked", BndSource, "AutomaticFlag", true);
dtaAutomaticFlag.DataBindings[0].Format += (s, e) =>
{
if ((SqlByte)e.Value == 1)
{
e.Value = true;
}
else
{
e.Value = false;
}
};
问题是在迭代绑定源的所有记录期间,我的ui有一半更新,这意味着它不完整。见图:
非常奇怪的是,我将上述绑定属性从选中更改为文本,如下所示:
dtaAutomaticFlag.DataBindings.Add("Text", BndSource, "AutomaticFlag", true);
ui没关系!!
照片:
答案 0 :(得分:0)
我不确定这是否适用于这种特殊情况。但不是像你一样添加绑定:
dtaAutomaticFlag.DataBindings.Add("Text", BndSource, "AutomaticFlag", true);
创建" new"绑定实例帮助吗?
dtaAutomaticFlag.DataBindings.Add(new Binding("Text", BndSource, "AutomaticFlag", true));