Version

CancelUpdate Method (UltraGridCell)

Cancels the update of the row or cell when data has been changed (similar to pressing ESC).
Syntax
'Declaration
 
Public Sub CancelUpdate() 
public void CancelUpdate()
Remarks

When the CancelUpdate method is invoked for a cell, the cell's contents return to their original value. The OriginalValue property of the UltraGridCell can be used to determine what this value is before invoking the method.

When the CancelUpdate method is invoked for a row, any changes made to the cells of the active row are removed. The cells display their original values, and the row is taken out of edit mode. The row selector picture changes from the "Write" image back to the "Current" image. The DataChanged property will be set to false.

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.

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

}
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also