Table of Contents

TTMSFNCDataGridRenderer Class

Core rendering and interaction engine for the DataGrid. Inherits cell data storage from TTMSFNCDataGridData and adds drawing, input handling, in-place editing, filtering, sorting, column management, scrolling, clipboard, and multi-page support. The TTMSFNCDataGrid component hosts this renderer inside a scrollable control.

API unit family: TMSFNCDataGridRenderer Inherits from: TTMSFNCDataGridData Implements: ITMSFNCDataBinderSelection, ITMSFNCAppearanceGlobalFont, ITMSFNCBitmapContainer, ITMSFNCAdaptToStyle

Syntax

TTMSFNCDataGridRenderer = class(TTMSFNCDataGridData, ITMSFNCDataBinderSelection, ITMSFNCAppearanceGlobalFont, ITMSFNCBitmapContainer, ITMSFNCAdaptToStyle)

Properties

Name Description
AdaptToStyle When True, the grid automatically adapts its appearance to match the active application style. Default is False.
AutoFillAppearance Appearance settings for the AutoFill drag handle and preview overlay.
BitmapAligns Gets/sets the alignment of the image control within the given cell.
BitmapAspectRatios Gets/sets whether the bitmap in the given cell preserves its aspect ratio when rendered. True keeps the original width/height ratio.
BitmapCentereds Gets/sets whether the bitmap in the given cell is centred within the cell area. True centers the bitmap horizontally and vertically.
BitmapContainer The bitmap container used to resolve named bitmaps assigned to cells.
BitmapCroppeds Gets/sets whether the bitmap in the given cell is cropped to fit. True clips overflow outside the cell bounds.
BitmapHeights Gets/sets the height of the image control in the given cell in pixels.
BitmapMargins Returns the margins around the image control in the given cell.
BitmapNames Returns the name of the bitmap assigned to a cell (when the bitmap was assigned by name).
BitmapPositions Gets/sets the position of the image control within the given cell.
BitmapStretcheds Gets/sets whether the bitmap in the given cell is stretched to fill the cell. True scales the bitmap to the available cell bounds.
BitmapWidths Gets/sets the width of the image control in the given cell in pixels.
Bitmaps Gets the bitmap displayed in the given cell.
BottomRow Returns the zero-based row index of the last fully or partially visible row at the bottom of the viewport.
CellAppearance Global cell appearance settings. Provides default layouts for each cell state (normal, selected, fixed, group, etc.).
CellPopupMenu The context popup menu shown when the user right-clicks a cell.
Colors Gets/sets the background fill colour of the given cell.
ColumnVisible Gets or sets whether the indexed column is shown. Setting to False hides the column; setting to True unhides it.
Columns The ordered column collection that defines the grid's column structure, headers, editors, formatting, and per-column settings.
ColumnsEditor Returns the internal column-designer object (used for the IDE columns editor).
CommentPopup Returns the comment popup control used to display cell comment tooltips.
Comments Gets/sets the comment text attached to the given cell. Comments appear as a tooltip when the user hovers over the comment indicator.
ControlAligns Gets/sets the alignment of the embedded control in the given cell.
ControlHeights Gets/sets the height of the embedded control in the given cell in pixels.
ControlHeightsDIP Gets/sets the height of the embedded control in device-independent pixels.
ControlMargins Returns the margins around the embedded control in the given cell.
ControlPositions Gets/sets the position of the embedded control within the given cell.
ControlTexts Gets/sets the text caption of the embedded control (button label, checkbox text, etc.) in the given cell.
ControlWidths Gets/sets the width of the embedded control in the given cell in pixels.
ControlWidthsDIP Gets/sets the width of the embedded control in device-independent pixels.
CustomHorizontalScrollBar Returns the custom horizontal scroll bar control when CustomScrollBars is True.
CustomScrollBars When True, custom scroll bars (TTMSFNCScrollBar) are drawn inside the grid area instead of the platform's native scroll bars. Default is False.
CustomVerticalScrollBar Returns the custom vertical scroll bar control when CustomScrollBars is True.
DragAppearance Appearance settings for the drag indicator shown while dragging a row or column.
DragCell Returns the cell coordinate of the row or column currently being dragged.
EditingCell Returns the cell coordinate of the cell currently open for in-place editing.
ExternalHorizontalScrollBar Assigns an external object implementing ITMSFNCDataGridExternalScrollBar as the horizontal scroll bar.
ExternalVerticalScrollBar Assigns an external object implementing ITMSFNCDataGridExternalScrollBar as the vertical scroll bar (e.g. a separate TTMSFNCScrollBar placed outside the grid).
FilterAppearance Appearance settings for the column filter popup panel.
FilterClearButton Returns the clear-filter button inside the filter popup.
FilterContainer Returns the container control that wraps the filter popup editor controls.
FilterDialog Returns the advanced filter dialog instance.
FilterEdit Returns the text input field inside the filter popup.
FilterEditors Returns the filter-row editor control for the given cell.
FilterListBox Returns the checked list box inside the filter popup that shows distinct column values.
FilterPopup Returns the filter popup window.
FilterSortAscendingButton Returns the ascending-sort button inside the filter popup.
FilterSortDescendingButton Returns the descending-sort button inside the filter popup.
FilterTypeComboBox Returns the filter-type combo box inside the filter popup.
FindDialog Returns the Find dialog instance.
FocusedCell Gets/sets the cell that currently has keyboard focus (the editing cursor position).
FontColors Gets/sets the font colour for the given cell.
FontNames Gets/sets the font name for the given cell.
FontSizes Gets/sets the font size for the given cell in points.
FontStyles Gets/sets the font style set (bold, italic, underline) for the given cell.
GlobalFont Global font settings that propagate to all cell layouts unless overridden at the individual layout level.
Grids Returns the nested renderer embedded in the given cell, or nil.
HasBitmap Returns True if the given cell contains an image.
HasButton Returns True if the given cell contains a button control.
HasCheckBox Returns True if the given cell contains a checkbox control.
HasDataCheckBox Returns True if the given cell contains a data-bound checkbox.
HasDataProgressBar Returns True if the given cell contains a data-bound progress bar.
HasDataRadioButton Returns True if the given cell contains a data-bound radio button.
HasFilterEditor Returns True if the given cell contains a filter-row editor control.
HasGrid Returns True if the given cell contains a nested renderer grid.
HasLayout Returns True if the given cell has a custom TTMSFNCDataGridCellLayout override stored.
HasProgressBar Returns True if the given cell contains a progress bar control.
HasRadioButton Returns True if the given cell contains a radio button control.
Hints Gets/sets the tooltip hint string for the given cell.
HorizontalScrollBar Returns the platform horizontal scroll bar control.
HorizontalScrollBarVisible When True (default), the horizontal scroll bar is shown when the grid content is wider than the visible area.
Host Returns the host object that owns this renderer (typically the TTMSFNCDataGrid component).
Icons Custom bitmap icons for built-in UI elements. Assign bitmaps to override the embedded defaults.
InplaceEditor Returns the currently active in-place editor control, or nil when no cell is being edited.
IsMouseDown True while the primary mouse button is pressed over the grid.
Layouts Returns the custom TTMSFNCDataGridCellLayout stored for the given cell, or nil if no cell-level layout override exists.
LeftColumn Gets/sets the zero-based column index of the leftmost visible column.
Options All grid options: banding, clipboard, column, editing, I/O, keyboard, localization, lookup, mouse, row, and selection settings.
Padding Padding applied around the entire grid content area (inside the border).
PageCount Returns the total number of pages when Paging is True.
PageIndex Gets/sets the currently displayed page index (zero-based) when Paging is True.
Paging When True, the grid splits its rows across pages. Use PageIndex, GoToPage, and the page navigation methods to navigate. Default is False.
ProgressValue Gets/sets the progress percentage (0–100) of the progress bar in the given cell.
RadioGroupIndex Gets/sets the radio-button group index for the radio button in the given cell.
ReadOnlys Gets/sets whether the given cell is individually marked read-only. True prevents editing the cell.
ReplaceDialog Returns the Replace dialog instance.
RightColumn Returns the zero-based column index of the rightmost visible column.
RowIndex Gets/sets the application-defined sort/order index for the given absolute row. Used when rows are reordered without changing the underlying data.
RowVisible Gets or sets whether the indexed row is shown. Setting to False hides the row; setting to True unhides it.
ScrollMode Controls whether scrolling is pixel-smooth (gsmPixelScrolling) or snaps to whole-cell boundaries (gsmCellScrolling).
ScrollUpdate Controls whether the grid repaints continuously while scrolling (gsuContinuous) or only once after the scroll bar thumb is released (gsuOnce).
SelectedCellCount Returns the total number of individually selected cells (in disjunct selection modes).
SelectedCells Gets/sets whether the given cell is individually selected. True includes the cell in disjunct selection modes.
SelectedColumnCount Returns the number of selected columns.
SelectedColumns Gets/sets whether an entire column is selected. True includes the column in the selection.
SelectedRowCount Returns the number of selected rows.
SelectedRows Gets/sets whether an entire row is selected. True includes the row in the selection.
Selection The current selection range (start and end cell coordinates). Can be read or written directly to programmatically set the selection.
SortIndicatorAppearance Appearance settings for the sort indicator shown in sorted column headers, including the multi-column sort order number and the ascending/descending arrow glyph size.
States Returns the visual state flags of the given cell (normal, selected, focused, fixed, etc.).
StretchScrollBars When True, the custom scroll bars expand to fill the full width/height of the grid rather than ending at the opposite scroll bar. Default is False.
Stroke Stroke used to draw the grid lines between cells.
TextAligns Gets/sets the horizontal text alignment for the given cell.
TextAngles Gets/sets the text rotation angle in degrees for the given cell.
TopRow Gets/sets the zero-based row index of the topmost visible row.
VerticalScrollBar Returns the platform vertical scroll bar control.
VerticalScrollBarVisible When True (default), the vertical scroll bar is shown when the grid content is taller than the visible area.
VerticalTextAligns Gets/sets the vertical text alignment for the given cell.
WordWrapping Gets/sets whether text in the given cell wraps to multiple lines when it exceeds the cell width. True enables wrapping.

Methods

Name Description
AddBitmap Adds a bitmap cell using a bitmap instance at the specified cell coordinate.
AddBitmapColumn Adds bitmap cells using a bitmap instance to the specified column.
AddButton Adds a button cell at the specified cell coordinate.
AddButtonColumn Adds button cells to the specified column.
AddCheckBox Adds a checkbox cell at the specified cell coordinate.
AddCheckBoxColumn Adds checkbox cells to the specified column.
AddDataCheckBox Adds a data-bound checkbox cell at the specified cell coordinate.
AddDataCheckBoxColumn Adds data-bound checkbox cells to the specified column.
AddDataProgressBar Adds a data-bound progress bar cell at the specified cell coordinate.
AddDataProgressBarColumn Adds data-bound progress bar cells to the specified column.
AddDataRadioButton Adds a data-bound radio button cell at the specified cell coordinate.
AddDataRadioButtonColumn Adds data-bound radio button cells to the specified column.
AddFilterEditor Adds a filter editor cell at the specified cell coordinate.
AddGrid Creates a nested renderer grid in the cell identified by ACell and returns it.
AddProgressBar Adds a progress bar cell at the specified cell coordinate.
AddProgressBarColumn Adds progress bar cells to the specified column.
AddRadioButton Adds a radio button cell at the specified cell coordinate.
AddRadioButtonColumn Adds radio button cells to the specified column.
AfterExport Called after an export operation finishes.
ApplyExportScale Applies a temporary scale factor used during export rendering.
ApplyStyle Applies the current style values to renderer appearance objects.
AutoSizeColumn Resizes the given column to the minimum width that fits all cell content, optionally restricted to visible cells. APadding adds extra pixels beyond the measured content width.
AutoSizeColumns Auto-sizes every column to fit its content.
AutoSizeGrid Auto-sizes every column and every row to fit their content.
AutoSizeRow Resizes the given row to the minimum height that fits all cell content.
AutoSizeRows Auto-sizes every row to fit its content.
BeforeExport Called before an export operation starts.
Calculate Recalculates all internal geometry, cell positions, scroll ranges, and display lists. Call after programmatic changes that affect layout.
CanRegisterRuntimeClasses Returns True when renderer runtime classes should be registered.
CancelEditing Cancels in-place editing, discarding any changes. Returns True if editing was active and has been cancelled.
ChangeDPIScale Scales all column widths and row heights by the DPI ratio M/D to adapt to a DPI change.
ClearColumns Removes all columns from the Columns collection.
ClearControlCache Destroys and removes all cached embedded controls from cells (checkboxes, buttons, progress bars, etc.).
ClearFocus Clears keyboard focus from the grid without changing the selection.
ClearSelection Deselects all currently selected cells, rows, and columns.
CloseColumnsEditor Closes the column-designer dialog if it is currently open.
CloseFilterPopup Closes the filter popup if it is currently visible.
ColumnByHeader Returns the column whose Header matches AHeader, or nil.
ColumnByName Returns the column whose Name matches AName, or nil.
ColumnIndexByHeader Returns the zero-based index of the column whose Header matches AHeader, or -1.
ColumnIndexByName Returns the zero-based index of the column whose Name matches AName, or -1.
CopyToClipboard Copies the selected cells (or all cells when ASelectedCells is False) to the system clipboard as tab-delimited text.
CreateCell Creates a standalone TTMSFNCDataGridCell at ARect for the given cell coordinate. The caller owns the returned object.
CreateDragBitmap Creates the bitmap used while dragging rows, columns, or cells.
CutToClipboard Cuts the selected cells to the clipboard (copies their content then clears the cells).
DestroyDragBitmap Destroys the temporary drag bitmap.
Display Forces an immediate repaint of the grid display.
Draw Renders the entire grid onto AGraphics.
EditCell Opens the in-place editor for the given cell. ACellStart positions the caret; AInsertKey starts in insert mode; AValue pre-fills the editor text.
ExportNotification Reports export progress to listeners.
FirstPage Navigates to the first page when Paging is True.
Focus Sets keyboard focus to the grid control.
GetCellObjectForCell Returns the live cell object currently in the display list for ACell, or nil if the cell is not visible.
GetFilterTypeName Returns the localised display name for the given filter comparison type (e.g. "Contains", "Equals").
GetHMax Returns the maximum horizontal scroll position in pixels.
GetHScrollValue Returns the current horizontal scroll position in pixels.
GetHViewPortSize Returns the width of the visible horizontal viewport in pixels.
GetPageIndexForRow Returns the zero-based page index that contains the given absolute row index.
GetPageScrollSize Returns the number of rows scrolled per Page Up / Page Down key press.
GetPageScrollSizeByPageIndex Returns the number of rows on the given page, which may differ from the default page size for the last page.
GetParentHost Returns the parent host cell if this renderer is embedded in a parent grid, or nil if it is a top-level renderer.
GetRowForPageIndex Returns the absolute row index of the first data row on the given zero-based page.
GetVMax Returns the maximum vertical scroll position in pixels.
GetVScrollValue Returns the current vertical scroll position in pixels.
GetVViewPortSize Returns the height of the visible vertical viewport in pixels.
GoToCell Scrolls the grid so that ACell is visible. If ASelect is True, also selects the cell.
GoToFirstPage Navigates to the first page when Paging is True.
GoToLastPage Navigates to the last page when Paging is True.
GoToPage Navigates to the given zero-based page index when Paging is True.
HandleAutoFillMouse Handles mouse interaction with the autofill handle.
HandleDragBitmapDrop Handles dropping the drag bitmap at the current mouse position.
HandleDragBitmapOver Handles drag-over feedback for the drag bitmap.
HandleDragBitmapStart Initializes the drag bitmap at the start of a drag operation.
HandleDragEnd Finalizes a drag operation.
HandleDragging Handles mouse movement while dragging.
HandleEnter Handles focus entering the renderer.
HandleExit Handles focus leaving the renderer.
HandleKey Handles a keyboard event for navigation, editing, and selection.
HandleMouse Handles a mouse event for hit testing, selection, dragging, and editing.
HasCustomScrollBars Returns True when the grid is using custom scroll bars instead of platform-native scroll bars.
HasExternalScrollBars Returns True when external scroll bar interfaces have been assigned via ExternalVerticalScrollBar or ExternalHorizontalScrollBar.
HasValidHost Returns True when the renderer has a valid host control (i.e. is properly connected to a TTMSFNCDataGrid or host form).
HilightCells Applies HTML highlight markup to all cells that contain AHilightText, according to the scope and options in AOptions.
HilightText Wraps all occurrences of AText in AValue with HTML highlight markup. Used internally for filter-match highlighting.
IsAnchorMode Returns True when a range-selection anchor is active (i.e. the user is extending a selection with Shift+Click).
IsCellDisplayList Returns True when the specified display list contains cells to render.
IsCellReadOnly Returns True if the cell is marked read-only at the cell level, column level, or grid level.
IsCellSelected Returns True if the given cell falls within the current selection.
IsDisjunctMode Returns True when the current selection mode is one of the disjunct (Ctrl+Click) modes.
IsEditing Returns True while an in-place editor is open.
IsFixedCellSelected Returns True if the fixed header/footer cell is highlighted to indicate that its corresponding row or column is selected.
IsRangeMode Returns True when the current selection mode allows contiguous range selection.
IsRowBand Returns True if the given row should be rendered with the band layout (alternating band colouring is enabled).
IsSingleMode Returns True when the current selection mode restricts selection to a single cell, row, or column.
LastPage Navigates to the last page when Paging is True.
LastVisibleColumn Starting from (AColumn, ARow), returns the last visible column in the same row.
LastVisibleRow Starting from (AColumn, ARow), returns the last visible row in the same column.
Lookup Searches all columns for the first cell whose text starts with AValue. If AAutoGoto is True, navigates to the found cell.
LookupInColumn Searches the specified column for a cell whose text starts with AValue.
LookupInColumnFromRow Searches the specified column starting from ARow for a cell whose text starts with AValue.
MarkCells Applies persistent HTML mark markup to all cells that contain AHilightText.
MarkText Wraps all occurrences of AText in AValue with HTML mark markup for permanent cell marking.
Navigate Scrolls the grid to make ACell visible without changing the selection. Use AForceScroll to scroll even if the cell is already partially visible.
NextPage Navigates to the next page when Paging is True.
NextSelectableColumn Returns the coordinate of the next column that is both visible and selectable, starting after the given cell.
NextSelectableRow Returns the coordinate of the next row that is both visible and selectable, starting after the given cell.
NextVisibleColumn Returns the coordinate of the next visible column after the given position.
NextVisibleRow Returns the coordinate of the next visible row after the given position.
PasteFromClipboard Pastes tab-delimited text from the system clipboard into the grid starting at the focused cell.
PreviousPage Navigates to the previous page when Paging is True.
PreviousSelectableColumn Returns the coordinate of the previous column that is both visible and selectable, before the given cell.
PreviousSelectableRow Returns the coordinate of the previous row that is both visible and selectable, before the given cell.
PreviousVisibleColumn Returns the coordinate of the previous visible column before the given position.
PreviousVisibleRow Returns the coordinate of the previous visible row before the given position.
RemoveBitmap Removes the bitmap cell at the specified cell coordinate.
RemoveButton Removes the button cell at the specified cell coordinate.
RemoveCheckBox Removes the checkbox cell at the specified cell coordinate.
RemoveDataCheckBox Removes the data-bound checkbox cell at the specified cell coordinate.
RemoveDataProgressBar Removes the data-bound progress bar cell at the specified cell coordinate.
RemoveDataRadioButton Removes the data-bound radio button cell at the specified cell coordinate.
RemoveFilterEditor Removes the filter editor cell at the specified cell coordinate.
RemoveGrid Removes the nested grid from the specified cell coordinate.
RemoveLayout Removes the custom layout from the specified cell coordinate.
RemoveProgressBar Removes the progress bar cell at the specified cell coordinate.
RemoveRadioButton Removes the radio button cell at the specified cell coordinate.
ResetDrag Resets the active drag operation and clears drag state.
ResetExportScale Restores the renderer export scale to its default value.
ResetToDefaultStyle Restores the renderer appearance to the default style.
RestoreScrollPosition Restores the previously saved scroll position.
SaveScrollPosition Saves the current scroll position for later restoration.
SaveToHTMLData Exports the grid content to an HTML file at AFileName.
SaveToHTMLStreamData Writes HTML export of the grid to AStream.
SaveToImageData Saves a bitmap snapshot of the grid's current visual state to an image file.
SaveToImageStreamData Writes a bitmap snapshot of the grid to AStream.
Scroll Programmatically scrolls the grid to the given horizontal and vertical pixel positions.
SelectAllCells Selects all data cells. Pass AIncludeHidden = False to skip hidden rows and columns.
SelectCell Selects the given cell, taking shift-state into account for range extension and disjunct multi-selection.
SelectCellRange Selects the rectangular cell range defined by the given corner coordinates.
SelectColumns Selects the contiguous range of columns from AFromColumn to AToColumn.
SelectRows Selects the contiguous range of rows from AFromRow to AToRow.
SetGrid Assigns a nested renderer grid to the given cell, replacing any existing grid, and returns it.
ShowColumnsEditor Opens the column designer dialog that lets the user add, remove, and configure columns at run time.
ShowFilterDialog Opens the advanced filter builder dialog.
ShowFindDialog Opens the Find dialog to search cell values.
ShowReplaceDialog Opens the Find & Replace dialog to search and replace cell values.
StartDragging Starts a drag operation using the supplied mouse state.
StopEditing Commits in-place editing, saving the edited value to the cell. Returns True if editing was active and has been committed.
UnhilightCells Removes visual highlight markup from cells that match the given options.
UnhilightText Removes highlight markup from a previously hilighted string.
UnmarkCells Removes persistent mark markup from cells that match the given options.
UnmarkText Removes mark markup from a previously marked string.
Update Recalculates renderer state and refreshes the grid display.
UpdateBounds Updates renderer bounds, scrollbars, and dependent layout rectangles.
XYToCell Returns the cell coordinate at the given device pixel position. Pass ASizing = True to adjust the hit-test for sizing cursor detection.
XYToColumn Returns the column index at the given device pixel X coordinate, or -1 if outside any column.
XYToRenderer Returns the nested renderer at the given device pixel position, or Self if there is no nested renderer there.
XYToRow Returns the row index at the given device pixel Y coordinate, or -1 if outside any row.

Events

Name Description
OnAfterApplyAdvancedFilter Fired after the advanced filter builder expression has been applied.
OnAfterApplyFilter Fired after a simple column filter has been applied. Receives the column index and the filter condition string.
OnAfterCalculate Fired after the calculation engine (grouping, summaries, filtering) has finished recalculating.
OnAfterClearSelectedCells Fired after selected cells have been cleared.
OnAfterCloseInplaceEditor Fired after an in-place editor has been closed. Indicates whether editing was cancelled and supplies the final value.
OnAfterCopyToClipboard Fired after cells have been copied to the clipboard.
OnAfterCreateFilterEditor Fired after a filter-row editor control has been created for a cell.
OnAfterCutToClipboard Fired after cells have been cut to the clipboard.
OnAfterDialogFind Fired after the Find dialog completes a search, with the result cell and a found flag.
OnAfterDialogReplace Fired after the Replace dialog completes with the count of replaced values.
OnAfterDrawCell Fired after a cell has been drawn. Use the graphics context to add custom overlays.
OnAfterDrawEmptySpace Fired after an empty-space region between cells has been drawn.
OnAfterDrawGrid Fired after the complete grid has been drawn.
OnAfterExitInplaceEditor Fired after the in-place editor has exited and focus has moved away from the cell.
OnAfterInplaceEditorGetValue Fired after the in-place editor has read its value from the grid.
OnAfterInplaceEditorSetValue Fired after the in-place editor has written its value back to the grid.
OnAfterLookup Fired after a keyboard-lookup completes.
OnAfterOpenInplaceEditor Fired after an in-place editor has been opened and initialised with a cell value.
OnAfterPasteFromClipboard Fired after content has been pasted from the clipboard.
OnAfterShowFilter Fired after the column filter popup has been shown.
OnAfterShowFilterDialog Fired after the advanced filter dialog has been shown.
OnAfterShowFindDialog Fired after the Find dialog has been shown.
OnAfterShowReplaceDialog Fired after the Replace dialog has been shown.
OnAfterSortColumn Fired after a column has been sorted.
OnAppendColumn Fired when a new column is appended via keyboard or auto-append logic.
OnAppendRow Fired when a new row is appended via keyboard or auto-append logic.
OnBeforeApplyAdvancedFilter Fired before the advanced filter expression is applied.
OnBeforeApplyFilter Fired before a simple column filter is applied. Allows changing the condition or cancellation.
OnBeforeCalculate Fired before the calculation engine begins recalculating.
OnBeforeClearSelectedCells Fired before selected cells are cleared (e.g. by Delete key). Set ACanClear to False to suppress.
OnBeforeCloseInplaceEditor Fired before an in-place editor is closed. Allows final validation or cancellation. Set ACanClose to False to keep the editor open.
OnBeforeCopyToClipboard Fired before cells are copied to the clipboard. Set ACanCopy to False to suppress.
OnBeforeCreateFilterEditor Fired before a filter-row editor is created. Set ACanCreate to False to suppress creation.
OnBeforeCutToClipboard Fired before cells are cut to the clipboard. Set ACanCut to False to suppress.
OnBeforeDialogFind Fired before the Find dialog executes a search. Allows customisation of search parameters or cancellation.
OnBeforeDialogReplace Fired before the Replace dialog executes a replace operation.
OnBeforeDrawCell Fired before a cell is drawn. Set ACanDraw to False to take full control of drawing.
OnBeforeDrawEmptySpace Fired before an empty-space region is drawn. Set ACanDraw to False to suppress the default background.
OnBeforeExitInplaceEditor Fired before the in-place editor exits (loses focus). Allows changing the exit mode.
OnBeforeInplaceEditorGetValue Fired before the in-place editor reads its value from the grid, allowing the application to supply a custom value.
OnBeforeInplaceEditorSetValue Fired before the in-place editor writes its value back to the grid, allowing the application to transform or reject the value.
OnBeforeLookup Fired before a keyboard-lookup is performed. Allows changing the lookup string or cancellation.
OnBeforeOpenInplaceEditor Fired before an in-place editor is opened. Allows changing the initial value or preventing the editor from opening.
OnBeforePasteFromClipboard Fired before content is pasted from the clipboard. Set ACanPaste to False to suppress.
OnBeforeShowFilter Fired before a column filter popup is shown. Set ACanShow to False to suppress.
OnBeforeShowFilterDialog Fired before the advanced filter dialog is shown.
OnBeforeShowFindDialog Fired before the Find dialog is shown.
OnBeforeShowReplaceDialog Fired before the Replace dialog is shown.
OnBeforeSortColumn Fired before a column is sorted. Set ACanSort to False to suppress sorting.
OnCanAppendColumn Fired to ask whether a new column may be appended at AColumn.
OnCanAppendRow Fired to ask whether a new row may be appended at ARow.
OnCanDeleteColumn Fired to ask whether column AColumn may be deleted.
OnCanDeleteRow Fired to ask whether row ARow may be deleted.
OnCanDragColumn Fired to ask whether column AColumn may be dragged.
OnCanDragRow Fired to ask whether row ARow may be dragged.
OnCanDropColumn Fired to ask whether a column being dragged may be dropped onto the target column.
OnCanDropRow Fired to ask whether a row being dragged may be dropped onto the target row.
OnCanEditCell Fired to ask whether cell (AColumn, ARow) may be edited.
OnCanInsertColumn Fired to ask whether a new column may be inserted at AColumn.
OnCanInsertRow Fired to ask whether a new row may be inserted at ARow.
OnCanSizeColumn Fired while a column is being resized, allowing the application to constrain the new size.
OnCanSizeRow Fired while a row is being resized, allowing the application to constrain the new size.
OnCellAfterNodeCollapse Fired after a tree-mode node cell has been collapsed.
OnCellAfterNodeExpand Fired after a tree-mode node cell has been expanded.
OnCellAnchorClick Fired when the user clicks a hyperlink inside a cell.
OnCellBeforeNodeCollapse Fired before a tree-mode node cell is collapsed. Set ACanCollapse to False to prevent it.
OnCellBeforeNodeExpand Fired before a tree-mode node cell is expanded. Set ACanExpand to False to prevent it.
OnCellBeforeShowPopupMenu Fired before the cell context menu is shown. Allows customising or suppressing the popup.
OnCellButtonClick Fired when the user clicks a button cell.
OnCellCheckBoxChange Fired when the user toggles a checkbox cell.
OnCellClick Fired when the user clicks a cell (single click).
OnCellDblClick Fired when the user double-clicks a cell.
OnCellEditGetData Fired when the in-place editor needs to read data from an external source to initialise itself. Use this to supply values that are not stored in the grid's cell dictionary.
OnCellEditSetData Fired when the in-place editor writes its value back. Use this to persist the edited value to an external source.
OnCellEditValidateData Fired to validate the edited value before it is committed. Set AValid to False to keep the editor open.
OnCellRadioButtonChange Fired when the user changes the selected radio button in a radio-button cell.
OnCellRightClick Fired when the user right-clicks a cell.
OnColumnDropped Fired after a column drag-and-drop reorder completes.
OnColumnSized Fired after a column resize drag completes.
OnCreateCustomFilterEditor Fired to let the application create a fully custom filter-row editor control for a cell.
OnCustomizeFilterPopupEditor Fired to let the application customise (replace or modify) the filter popup editor for a column.
OnDeleteColumn Fired when a column is deleted.
OnDeleteRow Fired when a row is deleted.
OnDisplay Fired after the grid display has been refreshed (after each Display call).
OnDropFiles Fired when files are dropped onto the grid via OS drag-and-drop.
OnFocus Fired when the grid gains keyboard focus.
OnGetCellClass Fired for each cell to let the application supply a custom cell class.
OnGetCellControlExtraProperties Fired to supply extra string properties for a cell's embedded control.
OnGetCellHint Fired to supply a tooltip string for a cell.
OnGetCellLayout Fired for each cell to let the application override its visual layout.
OnGetCellLayoutHasPriority Fired to ask whether the OnGetCellLayout result overrides even per-cell layout settings.
OnGetCellProperties Fired for each cell to let the application customise its type, editor, and other properties.
OnGetCellSupportsRealControl Fired to determine whether a cell's embedded control can show its native in-place representation.
OnGetInplaceEditorClass Fired to let the application supply a custom in-place editor class for a cell.
OnGetInplaceEditorProperties Fired to let the application configure the in-place editor after it has been created.
OnGetInplaceEditorRect Fired to let the application override the rectangle occupied by the in-place editor.
OnGetInplaceEditorTarget Fired to let the application control what the in-place editor edits: the cell value or its fill colour.
OnGetInplaceEditorType Fired to let the application select a different in-place editor type for a specific cell.
OnHScroll Fired as the grid scrolls horizontally. APosition is the new scroll position in pixels.
OnInsertColumn Fired when a new column is inserted.
OnInsertRow Fired when a new row is inserted.
OnIsDesigntime Internal callback used by the host to report design-time state. Not intended for application use.
OnIsDestroying Internal callback used by the host to report destruction state. Not intended for application use.
OnIsFocused Internal callback used by the host to report focus state. Not intended for application use.
OnIsLoading Internal callback used by the host to report loading state. Not intended for application use.
OnNeedFilterDropDownData Fired when the filter popup needs its drop-down list populated. Fill AValues with the distinct values to show.
OnRemoveAdvancedFilter Fired when the advanced filter expression is cleared.
OnRemoveFilter Fired when a column filter is removed.
OnResetCapture Fired internally when mouse capture needs to be reset (e.g. after a modal dialog closes).
OnRowDropped Fired after a row drag-and-drop reorder completes.
OnRowSized Fired after a row resize drag completes.
OnSelectCell Fired after the selection changes.
OnSelectingCell Fired before the selection changes. Set ACanSelect to False to prevent the selection change.
OnSizeColumn Fired while a column is being interactively resized. Use to update external width indicators.
OnSizeRow Fired while a row is being interactively resized.
OnUpdateCursor Fired when the grid needs to change the mouse cursor shape. The host control should apply ACursor to its cursor property.
OnVScroll Fired as the grid scrolls vertically. APosition is the new scroll position in pixels.

Used by