バージョン

DataErrorSource 列挙体

データエラーがどのようにして発生したかを示します。
シンタックス
'宣言
 
Public Enum DataErrorSource 
   Inherits System.Enum
public enum DataErrorSource : System.Enum 
メンバ
メンバ解説
CellUpdateセルを更新しているときに発生します。
RowAdd新しい行を追加しているときに発生します。
RowDelete行を削除しているときに発生します。
RowUpdate行を更新しているときに発生します。
Unspecified詳細不明。
使用例
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 );
	}

}
参照