Vb.net 如何在InvalidRowException事件处理程序中获取出错列?

Vb.net 如何在InvalidRowException事件处理程序中获取出错列?,vb.net,devexpress,Vb.net,Devexpress,我有一个带Devexpress GridView的winform 我正在处理事件:InvalidRowException 当强制列中缺少数据(或者数据通常不一致)时,我会尝试显示一条自定义消息 问题是我找不到方法来获取有错误的列 在作为InvalidRowExceptionEventArgs的对象E中,没有关于列的信息。我也尝试过:gridview.getcolumnerror(gridview.columns(1))但它什么也不返回 任何人都知道如何在处理事件InvalidRowExcepti

我有一个带Devexpress GridView的winform

我正在处理事件:InvalidRowException

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

问题是我找不到方法来获取有错误的列

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

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


谢谢

捕获该异常有点太晚了,因此您无法处理网格中的任何内容。使用事件
ValidateRow
防止数据输入不足。这两种情况都在本文中进行了解释


还有其他方法,比如在离开单元格编辑器时直接进行验证(而不仅仅是在离开行时)。请参阅。

InvalidRowException确实为您提供了具有
行句柄
属性的行。在这里,您可以调查和处理每行的错误

要回答关于“哪列有错误”的问题,请查看
InvalidRowExceptionArgs.Exception
属性。这应该明确为什么它认为它是“无效行”

可以找到关于这方面的文档和示例


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

谢谢您的回答。实际上,“缺失数据”只是一个例子。我确实处理缺失数据。这个问题与一般数据中的任何不一致性有关。例如,列中的重复值具有唯一约束或其他原因。是否有任何方法可以获取引发异常的列?我的意思是您应该将处理异常更改为输入验证。例如,事件
ValidatingEditor
在网格引发异常之前为您提供行和列(以及要验证的值)。有时候这是不可能的。例如,使用唯一约束复制列。我是否应该手动浏览所有行以检查键是否重复?那是不可能的。。。