バージョン

Error イベント

コントロール内でエラー状態が起こると発生します。
シンタックス
'宣言
 
Public Event Error As ErrorEventHandler
public event ErrorEventHandler Error
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、ErrorEventArgs 型の引数を受け取りました。次の ErrorEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
Cancel System.ComponentModel.CancelEventArgsから継承されます。 
DataErrorInfo データ エラーが原因でこのエラー イベントが発生した場合は、そのエラーに関連付けられた DataErrorInfo インスタンスを返します。そうでなければ、nullを返します。
ErrorText エラーテキストを取得または設定します。これは、エラー ダイアログ ボックスに表示されるテキストです。このプロパティを修正して、エラーダイアログボックスに表示される内容を変更できます。エラー ダイアログ ボックスを表示しないようにするには、Cancel を True に設定します。
ErrorType Errorイベントが発生したときのエラーの種類を返します。
MaskErrorInfo マスクエラーが原因でこのエラーイベントが発生した場合は、そのエラーに関連付けられたMaskErrorInfoインスタンスを返します。そうでなければ、nullを返します。
MultiCellOperationErrorInfo このオブジェクトは、マルチセル操作中に発生したエラーに関する情報を含みます。
解説

errorinfo 引数は、プロパティを設定でき、このイベントで生成されたエラーでメソッドを呼び出す Error オブジェクトへの参照を返します。この参照を使用して、返されたエラーのプロパティまたはメソッドにアクセスすることができます。

errorinfoCode および Description プロパティは、このイベントを生成したエラーの数と説明をそれぞれ決定するために使用できます。

エラーがデータソースに関係する場合、DataError プロパティが設定され、発生したことをさらに分析するために使用できます。

逆に、エラーが入力検証に関係する場合、MaskError プロパティが設定されます。コントロールは数字やアルファベットなどの文字の種類は入力検証できますが、正確な月や日時というような内容の有効性は検証できません。この場合、このイベントは生成されません。

このイベントは、更新が試みされたり、データソースが更新可能でないなどの予期しない状態にコントロールが遭遇した場合に生成できます。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid
Imports System.Diagnostics

   Private Sub UltraGrid1_Error(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.ErrorEventArgs) Handles ultraGrid1.Error

       If e.ErrorType = ErrorType.Data Then
           ' DataErroInfo object contains details regarding the data error.

           ' ErrorText property contains the error message.
           Debug.WriteLine("Data Error: Error text = " & e.DataErrorInfo.ErrorText)

           ' Exception property will contain the exception that caused the Error event to fire.
           ' It will be null if there was no exception.
           If Not Nothing Is e.DataErrorInfo.Exception Then
               Debug.WriteLine("Data Error: Exception type = " & e.DataErrorInfo.Exception.GetType().Name)
           Else
               Debug.WriteLine("Data Error: No Exception.")
           End If

           ' Cell returns the cell involved in the data error. It will be null for errors generated
           ' when performing operations like adding or deleting rows or operations that do not
           ' deal with a cell.
           If Not Nothing Is e.DataErrorInfo.Cell Then
               Debug.WriteLine("DataError: Cell's column key = " & e.DataErrorInfo.Cell.Column.Key)
           Else
               Debug.WriteLine("DataError: No cell.")
           End If

           ' Row returns the row involved in the data error. It will be null if error occurred while
           ' doing an operation that did not involve a row.
           If Not Nothing Is e.DataErrorInfo.Row Then
               Debug.WriteLine("DataError: Index of the row involved = " & e.DataErrorInfo.Row.Index)
           Else
               Debug.WriteLine("DataError: No row.")
           End If

           ' Source property indicates how the data error was generated.
           Debug.Write("DataError: Source of the error is ")
           Select Case (e.DataErrorInfo.Source)
               Case DataErrorSource.CellUpdate
                   If Nothing Is e.DataErrorInfo.InvalidValue Then
                       Debug.WriteLine("Cell updating.")
                   Else
                       Debug.WriteLine("Cell updating with invalid value of " & e.DataErrorInfo.InvalidValue.ToString())
                   End If
               Case DataErrorSource.RowAdd
                   Debug.WriteLine("Row adding.")
               Case DataErrorSource.RowDelete
                   Debug.WriteLine("Row deleting.")
               Case DataErrorSource.RowUpdate
                   Debug.WriteLine("Row updating.")
               Case DataErrorSource.Unspecified
                   Debug.WriteLine("Unknown.")
           End Select

           ' Set the cancel to true to prevent the grid from displaying a message for
           ' this error. Instead we will display our own message box below.
           e.Cancel = True

           MessageBox.Show(Me, _
            "Please enter a valid value for the cell." & vbCrLf & "Data error defatils:" & e.ErrorText, _
            "Invalid input", _
            MessageBoxButtons.OK, _
            MessageBoxIcon.Error)

       ElseIf e.ErrorType = ErrorType.Mask Then
           ' MaskErroInfo property contains the detaisl regarding the mask error.

           ' InvalidText is the text in the cell that doesn't satisfy the mask input.
           Debug.WriteLine("Mask Error: Invalid text = " & e.MaskErrorInfo.InvalidText)

           ' StartPos may indicate the position in the text that caused the mask input
           ' verification failed.
           Debug.WriteLine("Mask Error: Character position = " & e.MaskErrorInfo.StartPos)

           ' Prevent the UltraGrid from beeping whenever the user types in a
           ' character that doesn't match the mask as well as for other mask
           ' related errors.
           e.MaskErrorInfo.CancelBeep = True
       Else
           ' Set the cancel to true to prevent the grid from displaying the message
           ' for this error.
           e.Cancel = True
           Debug.WriteLine("Unknown error occured with the error message of: " & e.ErrorText)
       End If

   End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

private void ultraGrid1_Error(object sender, Infragistics.Win.UltraWinGrid.ErrorEventArgs e)
{

	if ( e.ErrorType == ErrorType.Data )
	{
		// DataErroInfo object contains details regarding the data error.

		// ErrorText property contains the error message.
		Debug.WriteLine( "Data Error: Error text = " + e.DataErrorInfo.ErrorText );

		// Exception property will contain the exception that caused the Error event to fire.
		// It will be null if there was no exception.
		if ( null != e.DataErrorInfo.Exception )
			Debug.WriteLine( "Data Error: Exception type = " + e.DataErrorInfo.Exception.GetType( ).Name );
		else
			Debug.WriteLine( "Data Error: No Exception." );

		// Cell returns the cell involved in the data error. It will be null for errors generated
		// when performing operations like adding or deleting rows or operations that do not
		// deal with a cell.
		if ( null != e.DataErrorInfo.Cell )
			Debug.WriteLine( "DataError: Cell's column key = " + e.DataErrorInfo.Cell.Column.Key );
		else
			Debug.WriteLine( "DataError: No cell." );

		// Row returns the row involved in the data error. It will be null if error occurred while
		// doing an operation that did not involve a row.
		if ( null != e.DataErrorInfo.Row )
			Debug.WriteLine( "DataError: Index of the row involved = " + e.DataErrorInfo.Row.Index );
		else
			Debug.WriteLine( "DataError: No row." );

		// Source property indicates how the data error was generated.
		Debug.Write( "DataError: Source of the error is " );
		switch ( e.DataErrorInfo.Source )
		{
			case DataErrorSource.CellUpdate:
				if ( null == e.DataErrorInfo.InvalidValue )
					Debug.WriteLine( "Cell updating." );
				else
					Debug.WriteLine( "Cell updating with invalid value of " + e.DataErrorInfo.InvalidValue.ToString( ) );
				break;
			case DataErrorSource.RowAdd:
				Debug.WriteLine( "Row adding." );
				break;
			case DataErrorSource.RowDelete:
				Debug.WriteLine( "Row deleting." );
				break;
			case DataErrorSource.RowUpdate:
				Debug.WriteLine( "Row updating." );
				break;
			case DataErrorSource.Unspecified:
				Debug.WriteLine( "Unknown." );
				break;
		}

		// Set the cancel to true to prevent the grid from displaying a message for
		// this error. Instead we will display our own message box below.
		e.Cancel = true;
		
		MessageBox.Show( this, 
			"Please enter a valid value for the cell.\nData error defatils:" + e.ErrorText,
			"Invalid input",
			MessageBoxButtons.OK,
			MessageBoxIcon.Error );
	}
	else if ( e.ErrorType == ErrorType.Mask )
	{
		// MaskErroInfo property contains the detaisl regarding the mask error.

		// InvalidText is the text in the cell that doesn't satisfy the mask input.
		Debug.WriteLine( "Mask Error: Invalid text = " + e.MaskErrorInfo.InvalidText );

		// StartPos may indicate the position in the text that caused the mask input
		// verification failed.
		Debug.WriteLine( "Mask Error: Character position = " + e.MaskErrorInfo.StartPos );

		// Prevent the UltraGrid from beeping whenever the user types in a
		// character that doesn't match the mask as well as for other mask
		// related errors.
		e.MaskErrorInfo.CancelBeep = true;
	}
	else
	{
		// Set the cancel to true to prevent the grid from displaying the message
		// for this error.
		e.Cancel = true;
		Debug.WriteLine( "Unknown error occured with the error message of: " + e.ErrorText );
	}

}
参照