'宣言 Public Event BeforeExitEditMode As BeforeExitEditModeEventHandler
public event BeforeExitEditModeEventHandler BeforeExitEditMode
イベント ハンドラが、このイベントに関連するデータを含む、BeforeExitEditModeEventArgs 型の引数を受け取りました。次の BeforeExitEditModeEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
Cancel System.ComponentModel.CancelEventArgsから継承されます。 | |
CancellingEditOperation | 編集操作がキャンセルされたかどうかを示す値を返します。 |
ForceExit | 強制的に編集モードを抜けるかどうかを示す値を返します。 |
cancel 引数を使用して、セルが編集モードを終了しないようにプログラミングできます。この引数は、一定の条件が満たされない限り、セルが編集モードを終了しないようにすることが可能です。
セルが編集モードでない場合、コントロールの IsInEditMode プロパティは False に設定されます。
cancel を True に設定しない場合、このイベントの後に AfterExitEditMode イベント (セルが編集モードを終了した後で発生するイベント) が発生します。
BeforeEnterEditMode イベントは、セルが編集モードに入る前に生成されます。
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; } } }