Как обработать исключение из базового набора данных Ultrawingrid (winforms) - PullRequest
2 голосов
/ 25 августа 2011

У меня есть UltraWinGrid с набором данных за ним. В обработчике событий Row_Changing таблицы данных я делаю некоторую проверку данных и выкидываю исключение, если оно недопустимо. Я хочу отобразить сообщение для этого исключения в моем приложении. Однако UltraGrid, похоже, перехватывает исключение и отображает свое собственное окно сообщения с исключением. Как я могу предотвратить отображение окна сообщения и перехватить эту ошибку в моем приложении?

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");
}

1 Ответ

2 голосов
/ 25 августа 2011

Я решил, но я все равно решил создать этот вопрос (так как я уже набрал его).

Вам нужно обработать событие Error 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;
}
...