Infragistics(R) NetAdvantage(R) Windows Forms
BeforeExitEditModeEventHandler Delegate
See Also  Example E-mail your feedback on this topic.
Infragistics.Win.UltraWinGrid Namespace : BeforeExitEditModeEventHandler Delegate

sender
e
delegate for handling BeforeExitEditMode event which is fired before exitting the edit mode.

Syntax

Visual Basic (Declaration) 
Public Delegate Sub BeforeExitEditModeEventHandler( _
   ByVal sender As Object, _
   ByVal e As BeforeExitEditModeEventArgs _
) 
C# 
public delegate void BeforeExitEditModeEventHandler( 
   object sender,
   BeforeExitEditModeEventArgs e
)

Parameters

sender
e

Example

Following code shows how one can use BeforeExitEditMode event to perform input validation.

For an overview of how to handle events in Visual Basic or Visual C#, see Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see Consuming Events in the .NET Framework Developer's Guide.

Visual BasicCopy Code
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid

  Private Sub UltraGrid1_BeforeExitEditMode(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeExitEditModeEventArgs) Handles ultraGrid1.BeforeExitEditMode

      ' If the user is canceling the modifications (for example by hitting Escape 
      ' key, then just return because the cell will revert to its original value
      ' in this case and not commit the user's input.
      If e.CancellingEditOperation Then Return

      ' See if the cell in edit mode is from CustomerID column.
      If Me.ultraGrid1.ActiveCell.Column.Key = "CustomerID" Then
          If Me.ultraGrid1.ActiveCell.Text.Length < 4 Then
              ' If the length of the input text is less than 4, then show a message
              ' box to the user.
              MessageBox.Show("Customer ID must be at least 4 characters wide.", _
                              "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

              ' If ForceExit is true, then the UltraGrid will exit the edit mode
              ' regardless of whether you cancel this event or not. ForceExit would
              ' be true for example when the UltraGrid is being disposed of and thus
              ' it can't stay in edit mode. In which case setting Cancel won't do
              ' any good so just cancel the update to revert the cell's value back
              ' to its original value.
              If e.ForceExit Then
                  ' If the UltraGrid must exit the edit mode, then cancel the
                  ' cell update so the original value gets restored in the cell.
                  Me.ultraGrid1.ActiveCell.CancelUpdate()
                  Return
              End If

              ' In normal circumstances where ForceExit is false, set Cancel to 
              ' true so the UltraGrid doesn't exit the edit mode.
              e.Cancel = True
          End If
      End If

  End Sub
C#Copy Code
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

private void ultraGrid1_BeforeExitEditMode(object sender, Infragistics.Win.UltraWinGrid.BeforeExitEditModeEventArgs e)
{

	// If the user is canceling the modifications (for example by hitting Escape 
	// key, then just return because the cell will revert to its original value
	// in this case and not commit the user's input.
	if ( e.CancellingEditOperation )
		return;

	// See if the cell in edit mode is from CustomerID column.
	if ( this.ultraGrid1.ActiveCell.Column.Key == "CustomerID" )
	{
		if ( this.ultraGrid1.ActiveCell.Text.Length < 4 )
		{
			// If the length of the input text is less than 4, then show a message
			// box to the user.
			MessageBox.Show( 
				"Customer ID must be at least 4 characters wide.", 
				"Input Error",
				MessageBoxButtons.OK,
				MessageBoxIcon.Error );

			// If ForceExit is true, then the UltraGrid will exit the edit mode
			// regardless of whether you cancel this event or not. ForceExit would
			// be true for example when the UltraGrid is being disposed of and thus
			// it can't stay in edit mode. In which case setting Cancel won't do
			// any good so just cancel the update to revert the cell's value back
			// to its original value.
			if ( e.ForceExit )
			{
				// If the UltraGrid must exit the edit mode, then cancel the
				// cell update so the original value gets restored in the cell.
				this.ultraGrid1.ActiveCell.CancelUpdate( );
				return;
			}

			// In normal circumstances where ForceExit is false, set Cancel to 
			// true so the UltraGrid doesn't exit the edit mode.
			e.Cancel = true;
		}
	}

}

See Also