【问题标题】:Read-only DataGridView and IEditableObject只读 DataGridView 和 IEditableObject
【发布时间】:2008-11-11 16:00:26
【问题描述】:

晚上好

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

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

感谢您的阅读:)

马蒂亚斯

【问题讨论】:

    标签: .net winforms data-binding ieditableobject


    【解决方案1】:

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

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

    无论我为 DataGridView 选择的 EditMode 是什么,代码都会单步执行 BusinessObjects 的 IEditableObject.EndEdit() 方法。

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

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

    有什么想法吗?

    【讨论】:

    • 我无法打开错误报告的链接。但是很好的答案!非常感谢。我希望有更多关于这方面的信息...... :)
    猜你喜欢
    • 1970-01-01
    • 2010-10-30
    • 2012-06-17
    • 2022-01-15
    • 2011-02-27
    • 2012-01-06
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多