'宣言 Public Event BeforeCellUpdate As BeforeCellUpdateEventHandler
public event BeforeCellUpdateEventHandler BeforeCellUpdate
イベント ハンドラが、このイベントに関連するデータを含む、BeforeCellUpdateEventArgs 型の引数を受け取りました。次の BeforeCellUpdateEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
Cancel System.ComponentModel.CancelEventArgsから継承されます。 | |
Cell | セル (読み取り専用)。 |
NewValue | セルの新しい値を返します。 |
cell 引数は、変更される値を持つセルでプロパティを設定でき、メソッドを呼び出す UltraGridCell オブジェクトへの参照を返します。この参照を使用して、返されるセルのプロパティまたはメソッドにアクセスできます。ただし、このセルの Value プロパティは読み取り専用です。
newvalue 引数は何がセルの新しい値になるかを示します。cell によって返される UltraGridCell オブジェクトの Value プロパティは、セルの既存値を決定するために使用できます。
cancel 引数を使用して、セルが新しい値を受け入れないようにプログラミングできます。一定の条件が満たされない限り、セルを新しい値を受け入れないようにすることが可能です。
このイベントは、ユーザーによる操作、またはプログラム操作でセルの値が変更された時に生成されます。更新が発生するときに、データソースが採用するレコードのロックのタイプや UpdateMode プロパティの値などのさまざまな要素が影響する可能性があるため、セルの新しい値がこの時点でデータソースにコミットされている必要はありません。BeforeRowUpdate イベントは、データソースに新しい値がコミットされる時に生成されます。
Value プロパティを設定することでセルの値をプログラムで変更できます。ただし、このイベント プロシージャーで値が変更されるセルの Value プロパティを設定しようとすると、エラーが発生します。
提供された cancel を True に設定しなければ、このイベントの後に AfterCellUpdate イベント(セルが新しい値を受け入れた後で発生するイベント)が発生します。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Imports System.Diagnostics Private Sub UltraGrid1_BeforeCellUpdate(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs) Handles ultraGrid1.BeforeCellUpdate ' ユーザーがセルの値を変更し、セルの編集モードを終了するときに、 ' UltraGrid はこのイベントを発生します。キャンセルされない場合、 ' バインドされたデータ ソースを新しい値と更新しますキャンセルされた場合、グリッドを更新せずに、 ' セルおよびセルのコンテンツを元の値に戻します If e.Cell.Column.Key = "OrderDate" Then If e.NewValue Is DBNull.Value Then Debug.WriteLine("Cell is being updated with DBNull") Else Debug.WriteLine("Cell is being updated with " & e.NewValue.ToString()) End If End If End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void ultraGrid1_BeforeCellUpdate(object sender, Infragistics.Win.UltraWinGrid.BeforeCellUpdateEventArgs e) { // ユーザーがセルの値を変更し、セルの編集モードを終了するときに、 // UltraGrid はこのイベントを発生します。キャンセルされない場合、 // バインドされたデータ ソースを新しい値で更新しますキャンセルされた場合、グリッドを更新せずに、 // セルおよびセルのコンテンツを元の値に戻します if ( e.Cell.Column.Key == "OrderDate" ) { if ( e.NewValue == DBNull.Value ) Debug.WriteLine( "Cell is being updated with DBNull" ); else Debug.WriteLine( "Cell is being updated with " + e.NewValue.ToString( ) ); } }