只读DataGridView和IEditableObject

时间:2008-11-11 16:00:26

标签: .net winforms data-binding ieditableobject

晚上好

我在.NET Windows Forms项目中使用DataGridView时遇到了一些问题。网格是只读的,并绑定到包含自定义业务对象的可排序BindingList<T>。我的业务对象类确实实现了IEditableObject

现在,在网格中导航时,始终会调用BeginEditEndEdit方法。有没有办法阻止网格或绑定源这样做?它被明确地设置为只读(ReadOnly = true),所以没有任何理由(不,让我们小心地说我没有看到),一遍又一遍地调用这些方法。

感谢您阅读:)

的Matthias

1 个答案:

答案 0 :(得分:2)

在复制你的问题后,似乎DataGridView调用了一系列方法/事件,无论如何都会调用你的IEditableObject事件......

当您将BindingList设置为DataGridView.DataSource以及在Grid中导航时,会发生这种情况。

无论我为DataGridView选择哪个EditMode,代码都会进入BusinessObjects的IEditableObject.EndEdit()方法。

这似乎是框架的旧 BUG ...我找到了这个Bug Report

此错误报告非常陈旧。我不是百分百确定这是否还是一个问题...也许已经有一些属性可以解决这个问题。

有什么想法吗?