如何在InvalidRowException事件处理程序中获取错误列?

时间:2018-06-11 18:33:35

标签: vb.net devexpress

我有一个使用Devexpress GridView的winform。

我正在处理该事件: InvalidRowException

当强制列中缺少数据时(或数据通常不一致),我正在尝试显示自定义消息。

问题是我无法找到获取有错误的列的方法。

E as InvalidRowExceptionEventArgs 对象中,没有关于该列的信息。我也尝试过: gridview.getcolumnerror(gridview.columns(1))但它什么也没有返回。

在处理事件 InvalidRowException 时,有人知道如何获取有错误的列吗?

由于

2 个答案:

答案 0 :(得分:0)

InvalidRowException确实为您提供了具有RowRowHandle属性的行。在这里,您可以逐行调查和处理到底出了什么问题。

要回答有关“哪一列有错误”的问题,请查看InvalidRowExceptionArgs.Exception属性。这应该清楚说明为什么将其视为“无效行”。

有关示例的文档可以在here中找到。

如果您可以发布完整,小巧且可复制的代码以及您打算实现的行为,那么我可能会写代码来解决它。

答案 1 :(得分:-1)

捕获该异常有点太晚了,所以你无法处理网格中的任何内容。使用事件ValidateRow可以防止数据输入效率不高。两者都在this article中解释。

还有其他方法,例如在离开单元格编辑器时直接进行验证(而不仅仅是在行离开时)。请参阅this tutorial on Data Input and Validation