This page provides a comprehensive reference of all events available in ReoGrid, organized by category.
Workbook Events
Available on the ReoGrid control (workbook) instance:
| Event | Event Args | Description |
|---|
WorksheetCreated | WorksheetCreatedEventArgs | A new worksheet was created |
WorksheetInserted | WorksheetInsertedEventArgs | A worksheet was inserted (provides Index) |
WorksheetRemoved | WorksheetRemovedEventArgs | A worksheet was removed (provides Index) |
BeforeWorksheetNameChange | WorksheetNameChangingEventArgs | Before a worksheet name changes (provides NewName, cancellable) |
WorksheetNameChanged | WorksheetNameChangingEventArgs | After a worksheet name changed |
WorksheetNameBackColorChanged | WorksheetEventArgs | Tab background color changed |
WorksheetNameTextColorChanged | WorksheetEventArgs | Tab text color changed |
SettingsChanged | EventArgs | Any workbook setting changed |
ExceptionHappened | ExceptionHappenEventArgs | An internal exception occurred (provides Exception, Worksheet, CellPosition) |
Action Events
| Event | Event Args | Description |
|---|
BeforeActionPerform | BeforeActionPerformEventArgs | Before any action is performed (cancellable via IsCancelled) |
ActionPerformed | WorkbookActionEventArgs | After an action is performed (provides Action) |
Undid | WorkbookActionEventArgs | After an undo operation |
Redid | WorkbookActionEventArgs | After a redo operation |
File I/O Events
| Event | Event Args | Description |
|---|
WorkbookLoaded | EventArgs | After a workbook file is loaded |
WorkbookSaved | EventArgs | After a workbook file is saved |
Worksheet Events
Available on individual worksheet instances. Access via grid.CurrentWorksheet or grid.Worksheets[index].
Cell Data Events
| Event | Event Args | Description |
|---|
CellDataChanged | CellEventArgs | A cellโs data changed (provides Cell) |
RangeDataChanged | RangeEventArgs | Data in a range was updated (provides Range) |
Cell Edit Events
| Event | Event Args | Description |
|---|
BeforeCellEdit | CellBeforeEditEventArgs | Before a cell enters edit mode (cancellable, provides EditText) |
AfterCellEdit | CellAfterEditEventArgs | After editing finishes (provides NewData, EndReason, DataFormat) |
CellEditTextChanging | CellEditTextChangingEventArgs | Text is changing during editing (provides Text) |
CellEditCharInputed | CellEditCharInputEventArgs | A character was input (provides InputChar, CaretPositionInLine, LineIndex, InputText) |
CellValidation | CellValidationEventArgs | After validation on editing text (provides Failures, IsValid) |
Cell Mouse Events
| Event | Event Args | Description |
|---|
CellMouseEnter | CellMouseEventArgs | Mouse entered a cell |
CellMouseLeave | CellMouseEventArgs | Mouse left a cell |
CellMouseMove | CellMouseEventArgs | Mouse moved within a cell |
CellMouseDown | CellMouseEventArgs | Mouse button pressed on a cell |
CellMouseUp | CellMouseEventArgs | Mouse button released on a cell |
CellMouseEventArgs Properties:
| Property | Type | Description |
|---|
Cell | Cell | The cell involved |
CellPosition | CellPosition | Cell position |
IsCancelled | bool | Set to true to cancel |
Buttons | MouseButtons | Which mouse button |
RelativePosition | Point | Position relative to the cell |
AbsolutePosition | Point | Absolute position on the control |
Clicks | int | Number of clicks |
Delta | int | Mouse wheel delta |
Capture | bool | Whether to capture the mouse |
CursorStyle | CursorStyle | Cursor style to display |
Keyboard Events
| Event | Event Args | Description |
|---|
BeforeCellKeyDown | BeforeCellKeyDownEventArgs | Key pressed (before native behavior, cancellable) |
AfterCellKeyDown | AfterCellKeyDownEventArgs | Key pressed (after native behavior) |
CellKeyUp | CellKeyDownEventArgs | Key released |
CellKeyDownEventArgs Properties:
| Property | Type | Description |
|---|
Cell | Cell | The focused cell |
CellPosition | CellPosition | Cell position |
KeyCode | KeyCode | The key that was pressed |
BeforeCellKeyDownEventArgs adds IsCancelled (bool).
Selection Events
| Event | Event Args | Description |
|---|
BeforeSelectionRangeChange | BeforeSelectionChangeEventArgs | Before selection changes (cancellable, modifiable) |
SelectionRangeChanging | RangeEventArgs | During selection change (while dragging) |
SelectionRangeChanged | SelectionRangeChangedEventArgs | After selection is finalized |
SelectionModeChanged | EventArgs | Selection mode changed |
SelectionStyleChanged | EventArgs | Selection style changed |
SelectionForwardDirectionChanged | EventArgs | Selection forward direction changed |
SelectionMovedForward | SelectionMovedForwardEventArgs | Selection moved forward (cancellable) |
SelectionMovedBackward | SelectionMovedBackwardEventArgs | Selection moved backward (cancellable) |
FocusPosChanged | EventArgs | Focus cell position changed |
FocusPosStyleChanged | EventArgs | Focus position style changed |
HoverPosChanged | EventArgs | Mouse hover cell changed |
See Selection for detailed usage.
Row and Column Events
| Event | Event Args | Description |
|---|
RowsInserted | RowsInsertedEventArgs | Rows were inserted (provides Row, Count) |
RowsDeleted | RowsDeletedEventArgs | Rows were deleted (provides Row, Count) |
ColumnsInserted | ColumnsInsertedEventArgs | Columns were inserted (provides Index, Count) |
ColumnsDeleted | ColumnsDeletedEventArgs | Columns were deleted (provides Index, Count) |
RowsHeightChanged | RowsHeightChangedEventArgs | Row height changed (provides Row, Count, Height) |
ColumnsWidthChanged | ColumnsWidthChangedEventArgs | Column width changed (provides Index, Count, Width) |
RowFiltered | | A filter was applied to rows |
RowSorted | | Rows were sorted |
See Rows, Columns & Headers for details.
Range Events
| Event | Event Args | Description |
|---|
RangeMerged | RangeEventArgs | A range was merged |
RangeUnmerged | RangeEventArgs | A range was unmerged |
RangeStyleChanged | RangeEventArgs | Styles were set on a range |
Range Move/Copy Events
| Event | Event Args | Description |
|---|
BeforeRangeCopy | | Before the selected range is copied |
AfterRangeCopy | | After a range copy operation |
BeforeRangeMove | | Before the selected range is moved |
AfterRangeMove | | After a range move operation |
Border Events
| Event | Event Args | Description |
|---|
BorderAdded | BorderAddedEventArgs | Borders were set (provides Pos, Style) |
BorderRemoved | BorderRemovedEventArgs | Borders were removed (provides Pos) |
Outline Events
| Event | Event Args | Description |
|---|
OutlineAdded | OutlineAddedEventArgs | An outline was added |
OutlineRemoved | OutlineRemovedEventArgs | An outline was removed |
BeforeOutlineCollapse | BeforeOutlineCollapseEventArgs | Before collapse (cancellable) |
AfterOutlineCollapse | AfterOutlineCollapseEventArgs | After collapse |
BeforeOutlineExpand | BeforeOutlineExpandingEventArgs | Before expand (cancellable) |
AfterOutlineExpand | AfterOutlineExpandingEventArgs | After expand |
See Group & Outline for detailed usage.
Freeze Events
| Event | Type | Description |
|---|
CellsFrozen | EventHandler | Worksheet was frozen |
CellsUnfrozen | EventHandler | Worksheet was unfrozen |
See Freeze Panes for details.
Clipboard Events
| Event | Event Args | Description |
|---|
BeforeCopy | | Before a copy operation |
AfterCopy | | After a range is copied to clipboard |
BeforePaste | | Before a paste operation |
AfterPaste | | After a range is pasted from clipboard |
BeforeCut | | Before a cut operation |
AfterCut | | After a range is cut |
OnPasteError | | Error occurred during paste |
Conditional Style Events
| Event | Type | Description |
|---|
ConditionalStyleCellChanged | EventHandler | Conditional style cells were updated |
See Conditional Styles for details.
Scale Event
| Event | Event Args | Description |
|---|
Scaled | EventArgs | Zoom level changed |
Other Events
| Event | Event Args | Description |
|---|
NameChanged | EventArgs | Worksheet name changed |
Resetted | EventArgs | Worksheet was reset |
SettingsChanged | SettingsChangedEventArgs | Worksheet settings changed |
Common Event Patterns
Cancellable Events
Many โBeforeโ events have an IsCancelled property. Set it to true to prevent the operation:
// 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;
Restrict Editing to a Range
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);

Track Data Changes
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");
};
Custom Key Handling
sheet.BeforeCellKeyDown += (s, e) =>
{
if (e.KeyCode == KeyCode.Enter)
{
e.IsCancelled = true;
// Custom navigation
sheet.SelectRange(sheet.SelectionRange.Row + 1, 0, 1, 1);
}
};