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