イベント

このページでは、ReoGridで利用可能なすべてのイベントをカテゴリ別にまとめています。

ワークブックイベント

ReoGridコントロール(ワークブック)インスタンスで利用できます。

イベントイベント引数説明
WorksheetCreatedWorksheetCreatedEventArgs新しいワークシートが作成された
WorksheetInsertedWorksheetInsertedEventArgsワークシートが挿入された(Indexを提供)
WorksheetRemovedWorksheetRemovedEventArgsワークシートが削除された(Indexを提供)
BeforeWorksheetNameChangeWorksheetNameChangingEventArgsワークシート名が変更される前(NewNameを提供、キャンセル可能)
WorksheetNameChangedWorksheetNameChangingEventArgsワークシート名が変更された後
WorksheetNameBackColorChangedWorksheetEventArgsタブの背景色が変更された
WorksheetNameTextColorChangedWorksheetEventArgsタブのテキスト色が変更された
SettingsChangedEventArgsワークブックの設定が変更された
ExceptionHappenedExceptionHappenEventArgs内部例外が発生した(ExceptionWorksheetCellPositionを提供)

アクションイベント

イベントイベント引数説明
BeforeActionPerformBeforeActionPerformEventArgsアクションが実行される前(IsCancelledでキャンセル可能)
ActionPerformedWorkbookActionEventArgsアクションが実行された後(Actionを提供)
UndidWorkbookActionEventArgs元に戻す操作の後
RedidWorkbookActionEventArgsやり直し操作の後

ファイルI/Oイベント

イベントイベント引数説明
WorkbookLoadedEventArgsワークブックファイルが読み込まれた後
WorkbookSavedEventArgsワークブックファイルが保存された後

ワークシートイベント

個々のワークシートインスタンスで利用できます。grid.CurrentWorksheetまたはgrid.Worksheets[index]でアクセスします。

セルデータイベント

イベントイベント引数説明
CellDataChangedCellEventArgsセルのデータが変更された(Cellを提供)
RangeDataChangedRangeEventArgs範囲内のデータが更新された(Rangeを提供)

セル編集イベント

イベントイベント引数説明
BeforeCellEditCellBeforeEditEventArgsセルが編集モードに入る前(キャンセル可能、EditTextを提供)
AfterCellEditCellAfterEditEventArgs編集完了後(NewDataEndReasonDataFormatを提供)
CellEditTextChangingCellEditTextChangingEventArgs編集中にテキストが変更されている(Textを提供)
CellEditCharInputedCellEditCharInputEventArgs文字が入力された(InputCharCaretPositionInLineLineIndexInputTextを提供)
CellValidationCellValidationEventArgs編集テキストの検証後(FailuresIsValidを提供)

セルマウスイベント

イベントイベント引数説明
CellMouseEnterCellMouseEventArgsマウスがセルに入った
CellMouseLeaveCellMouseEventArgsマウスがセルから出た
CellMouseMoveCellMouseEventArgsマウスがセル内で移動した
CellMouseDownCellMouseEventArgsセル上でマウスボタンが押された
CellMouseUpCellMouseEventArgsセル上でマウスボタンが離された

CellMouseEventArgsのプロパティ:

プロパティ説明
CellCell対象のセル
CellPositionCellPositionセルの位置
IsCancelledbooltrueに設定するとキャンセル
ButtonsMouseButtonsどのマウスボタンか
RelativePositionPointセルに対する相対位置
AbsolutePositionPointコントロール上の絶対位置
Clicksintクリック回数
Deltaintマウスホイールのデルタ値
Captureboolマウスをキャプチャするかどうか
CursorStyleCursorStyle表示するカーソルスタイル

キーボードイベント

イベントイベント引数説明
BeforeCellKeyDownBeforeCellKeyDownEventArgsキーが押された(ネイティブ動作の前、キャンセル可能)
AfterCellKeyDownAfterCellKeyDownEventArgsキーが押された(ネイティブ動作の後)
CellKeyUpCellKeyDownEventArgsキーが離された

CellKeyDownEventArgsのプロパティ:

プロパティ説明
CellCellフォーカスされたセル
CellPositionCellPositionセルの位置
KeyCodeKeyCode押されたキー

BeforeCellKeyDownEventArgsにはIsCancelled(bool)が追加されています。

選択イベント

イベントイベント引数説明
BeforeSelectionRangeChangeBeforeSelectionChangeEventArgs選択が変更される前(キャンセル可能、変更可能)
SelectionRangeChangingRangeEventArgs選択変更中(ドラッグ中)
SelectionRangeChangedSelectionRangeChangedEventArgs選択が確定された後
SelectionModeChangedEventArgs選択モードが変更された
SelectionStyleChangedEventArgs選択スタイルが変更された
SelectionForwardDirectionChangedEventArgs選択の前進方向が変更された
SelectionMovedForwardSelectionMovedForwardEventArgs選択が前方に移動した(キャンセル可能)
SelectionMovedBackwardSelectionMovedBackwardEventArgs選択が後方に移動した(キャンセル可能)
FocusPosChangedEventArgsフォーカスセルの位置が変更された
FocusPosStyleChangedEventArgsフォーカス位置のスタイルが変更された
HoverPosChangedEventArgsマウスホバー中のセルが変更された

詳細な使用方法については選択を参照してください。

行と列のイベント

イベントイベント引数説明
RowsInsertedRowsInsertedEventArgs行が挿入された(RowCountを提供)
RowsDeletedRowsDeletedEventArgs行が削除された(RowCountを提供)
ColumnsInsertedColumnsInsertedEventArgs列が挿入された(IndexCountを提供)
ColumnsDeletedColumnsDeletedEventArgs列が削除された(IndexCountを提供)
RowsHeightChangedRowsHeightChangedEventArgs行の高さが変更された(RowCountHeightを提供)
ColumnsWidthChangedColumnsWidthChangedEventArgs列の幅が変更された(IndexCountWidthを提供)
RowFiltered行にフィルターが適用された
RowSorted行がソートされた

詳細については行、列、ヘッダーを参照してください。

範囲イベント

イベントイベント引数説明
RangeMergedRangeEventArgs範囲が結合された
RangeUnmergedRangeEventArgs範囲の結合が解除された
RangeStyleChangedRangeEventArgs範囲にスタイルが設定された

範囲の移動/コピーイベント

イベントイベント引数説明
BeforeRangeCopy選択範囲がコピーされる前
AfterRangeCopy範囲のコピー操作の後
BeforeRangeMove選択範囲が移動される前
AfterRangeMove範囲の移動操作の後

罫線イベント

イベントイベント引数説明
BorderAddedBorderAddedEventArgs罫線が設定された(PosStyleを提供)
BorderRemovedBorderRemovedEventArgs罫線が削除された(Posを提供)

アウトラインイベント

イベントイベント引数説明
OutlineAddedOutlineAddedEventArgsアウトラインが追加された
OutlineRemovedOutlineRemovedEventArgsアウトラインが削除された
BeforeOutlineCollapseBeforeOutlineCollapseEventArgs折りたたみの前(キャンセル可能)
AfterOutlineCollapseAfterOutlineCollapseEventArgs折りたたみの後
BeforeOutlineExpandBeforeOutlineExpandingEventArgs展開の前(キャンセル可能)
AfterOutlineExpandAfterOutlineExpandingEventArgs展開の後

詳細な使用方法についてはグループとアウトラインを参照してください。

フリーズイベント

イベント説明
CellsFrozenEventHandlerワークシートがフリーズされた
CellsUnfrozenEventHandlerワークシートのフリーズが解除された

詳細についてはウィンドウ枠の固定を参照してください。

クリップボードイベント

イベントイベント引数説明
BeforeCopyコピー操作の前
AfterCopy範囲がクリップボードにコピーされた後
BeforePaste貼り付け操作の前
AfterPasteクリップボードから範囲が貼り付けられた後
BeforeCut切り取り操作の前
AfterCut範囲が切り取られた後
OnPasteError貼り付け中にエラーが発生した

条件付きスタイルイベント

イベント説明
ConditionalStyleCellChangedEventHandler条件付きスタイルのセルが更新された

詳細については条件付きスタイルを参照してください。

スケールイベント

イベントイベント引数説明
ScaledEventArgsズームレベルが変更された

その他のイベント

イベントイベント引数説明
NameChangedEventArgsワークシート名が変更された
ResettedEventArgsワークシートがリセットされた
SettingsChangedSettingsChangedEventArgsワークシートの設定が変更された

一般的なイベントパターン

キャンセル可能なイベント

多くの「Before」イベントにはIsCancelledプロパティがあります。trueに設定すると操作を防止できます。

// Prevent cell editing
sheet.BeforeCellEdit += (s, e) => e.IsCancelled = true;

// Prevent outline collapse
sheet.BeforeOutlineCollapse += (s, e) => e.IsCancelled = true;

// Prevent selection change
sheet.BeforeSelectionRangeChange += (s, e) => e.IsCancelled = true;

編集を範囲内に制限する

var editableRange = new RangePosition(3, 1, 2, 3);

sheet.SetRangeBorders(editableRange, BorderPositions.Outside, RangeBorderStyle.BlackSolid);
sheet[2, 1] = "Edit only allowed in this range:";

sheet.BeforeCellEdit += (s, e) =>
    e.IsCancelled = !editableRange.Contains(e.Cell.Position);

41

データ変更の追跡

sheet.CellDataChanged += (s, e) =>
{
    Console.WriteLine($"Cell {e.Cell.Address} changed to: {e.Cell.Data}");
};

sheet.RangeDataChanged += (s, e) =>
{
    Console.WriteLine($"Range {e.Range.ToAddress()} data changed");
};

カスタムキー処理

sheet.BeforeCellKeyDown += (s, e) =>
{
    if (e.KeyCode == KeyCode.Enter)
    {
        e.IsCancelled = true;
        // Custom navigation
        sheet.SelectRange(sheet.SelectionRange.Row + 1, 0, 1, 1);
    }
};

関連トピック


ページの内容は役に立ちましたか?