我有一个使用Devexpress GridView的winform。
我正在处理该事件: InvalidRowException
当强制列中缺少数据时(或数据通常不一致),我正在尝试显示自定义消息。
问题是我无法找到获取有错误的列的方法。
在 E as InvalidRowExceptionEventArgs 对象中,没有关于该列的信息。我也尝试过: gridview.getcolumnerror(gridview.columns(1))但它什么也没有返回。
在处理事件 InvalidRowException 时,有人知道如何获取有错误的列吗?
由于
答案 0 :(得分:0)
InvalidRowException
确实为您提供了具有Row
和RowHandle
属性的行。在这里,您可以逐行调查和处理到底出了什么问题。
要回答有关“哪一列有错误”的问题,请查看InvalidRowExceptionArgs.Exception
属性。这应该清楚说明为什么将其视为“无效行”。
有关示例的文档可以在here中找到。
如果您可以发布完整,小巧且可复制的代码以及您打算实现的行为,那么我可能会写代码来解决它。
答案 1 :(得分:-1)
捕获该异常有点太晚了,所以你无法处理网格中的任何内容。使用事件ValidateRow
可以防止数据输入效率不高。两者都在this article中解释。
还有其他方法,例如在离开单元格编辑器时直接进行验证(而不仅仅是在行离开时)。请参阅this tutorial on Data Input and Validation。