如何处理Ultrawingrid(winforms)基础数据集的异常

如何处理Ultrawingrid(winforms)基础数据集的异常,winforms,ultrawingrid,Winforms,Ultrawingrid,我有一个超级Wingrid,后面有一个数据集。在datatable的Row_Changeing事件处理程序中,我对数据进行了一些检查,如果数据无效,则抛出异常。我想在我的应用程序中显示此异常的消息。然而,超级网格似乎捕捉到了异常,并显示了它自己的异常消息框。如何防止显示消息框,并在应用程序中捕获该错误 private static void Row_Changing( object sender, DataRowChangeEventArgs e ) { if( <some log

我有一个超级Wingrid,后面有一个数据集。在datatable的Row_Changeing事件处理程序中,我对数据进行了一些检查,如果数据无效,则抛出异常。我想在我的应用程序中显示此异常的消息。然而,超级网格似乎捕捉到了异常,并显示了它自己的异常消息框。如何防止显示消息框,并在应用程序中捕获该错误

private static void Row_Changing( object sender, DataRowChangeEventArgs e )
{
    if( <some logic to test the row values>)
        throw new Exception("you can't do that");
}
私有静态无效行\u正在更改(对象发送方、DataRowChangeEventArgs e)
{
如果()
抛出新异常(“你不能这样做”);
}

我算出来了,但我想我还是会提出这个问题(因为我已经打出来了)

您需要处理UltraGrid的错误事件,并将e.Cancel设置为true以防止弹出对话框:

public Form1()
{
    ...

    this.ultraGrid1.Error += new Infragistics.Win.UltraWinGrid.ErrorEventHandler(ultraGrid1_Error);
}

void ultraGrid1_Error(object sender, Infragistics.Win.UltraWinGrid.ErrorEventArgs e)
{
    //< deal with the error here>
    // set Cancel to true to prevent the dialog box from showing.
    e.Cancel = true;
}
public Form1()
{
...
this.ultraGrid1.Error+=new Infragistics.Win.UltraWinGrid.ErrorEventHandler(ultraGrid1\u Error);
}
无效ultraGrid1_错误(对象发送方,Infragistics.Win.UltraWinGrid.ErrorEventArgs e)
{
//<在此处理错误>
//将“取消”设置为true以防止显示对话框。
e、 取消=真;
}