在开发过程中,自定义控件,自定义可绑定属性Value,通过DataBindings.add绑定到DataTable上之后,在程序运行时查看该控件时会自动把当前TataTable的DataRow为修改状态,即使用户什么也没有操作,仅仅是浏览记录,TataTable.GetChanges()也会返回用户浏览过的DataRows,不能真实反映出绑定的数据是否发生变化。
经过进一步的测试,我发现原因在于,在我的代码中,每次调用BindingSource.EndEdit()结束当前编辑的时候,都会导致value这个属性的重新赋值(set被调用)。这样的话,即使我没有改变界 面上的数据,由于重新赋值,被绑定的table就会发生改变。
如何解决这个问题?