gpt4 book ai didi

c# - 如何阻止 DataGridView 调用 IDataErrorInfo.this[string columnName] 获取?

转载 作者:行者123 更新时间:2023-11-30 18:10:45 25 4
gpt4 key购买 nike

我有一个实现 IDataErrorInfo 的数据对象,但是验证逻辑有点慢。不是那么慢,但足够慢,你不想多次调用它。在我的应用程序中,这些对象的列表显示在 DataGridView 控件中。网格是只读的,并且永远只包含有效的数据对象,但是 DataGridView 坚持为网格中的每个单元格调用 IDataErrorInfo.this[string columnName],这使得重新绘制非常缓慢。

我已尝试将 ShowCellErrors 和 ShowRowErrors 设置为 false,但它仍在调用 IDataErrorInfo.this[string columnName]。我有什么想法可以阻止它验证我知道有效的对象吗?

最佳答案

作为一个便宜的选择...也许您可以在您的对象上设置一个标志来禁用验证并始终从 2 个 IDataErrorInfo 方法返回 ""

obj.ValidationEnabled = false; // etc

如果这是一个主要问题,您可以引入一个模拟实际类型但不实现 IDataErrorInfo 的传递对象。通过手动编写外观代码,或者创造性地使用 System.ComponentModel(可能是 ITypedListTypeDescriptionProvider;注意它不会是仅针对单一类型值得 - 手动编写类会更容易)。

关于c# - 如何阻止 DataGridView 调用 IDataErrorInfo.this[string columnName] 获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1097557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com