セルの編集に伴い、編集の開始や終了といったコントロールのイベントが発生します。ここでは各種イベントについて解説します。
セルの編集が開始するとコントロールの次のイベントが発生します。詳細については「入力と編集」を参照してください。
編集が終了すると次のイベントが発生します。
セルの値が変更された場合には、セルの値変更を示す以下のイベントが発生します。
上記イベントはCanReceiveCellEvents プロパティが true の場合に発生します。既定値は true です。また、以下のようなケースでイベントが発生します。
ただし、以下のケースでは プロパティの設定に関わらず、セル値変更を示すイベントは発生しません。
クリップボードからのペーストによるイベントについては「ペーストの制御」を参照してください。
次のサンプルコードは、日付型セルにDateTime型以外の値が入力またはペーストされることを禁止します。
XAML |
コードのコピー |
---|---|
<sg:GcSpreadGrid x:Name="GcSpreadGrid1" CellValueChanging="GcSpreadGrid1_CellValueChanging" /> |
C# |
コードのコピー |
---|---|
private void GcSpreadGrid1_CellValueChanging(object sender, GrapeCity.Windows.SpreadGrid.CellValueChangingEventArgs e) { if( gcSpreadGrid1[e.Row, e.Column].InheritedCellType is DateTimeCellType && !(e.NewValue is DateTime) ) { e.Cancel = true; } } |
Visual Basic |
コードのコピー |
---|---|
Private Sub GcSpreadGrid1_CellValueChanging(sender As Object, e As CellValueChangingEventArgs) If TypeOf GcSpreadGrid1(e.Row, e.Column).InheritedCellType Is DateTimeCellType AndAlso TypeOf e.NewValue IsNot DateTime Then e.Cancel = True End If End Sub |