3

晚上好

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

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

感谢您阅读:)

马蒂亚斯

4

1 回答 1

2

复制您的问题后,似乎 DataGridView 调用了一系列方法/事件,最终调用您的 IEditableObject 事件,无论如何......

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

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

看来这是框架的一个旧BUG ...我发现了这个Bug Report

这个错误报告很老了。我不是 100% 确定这是否仍然是一个问题……也许已经有一些属性可以解决这个问题。

有什么想法吗?

于 2008-11-11T17:38:08.277 回答