SalTableWindowBase
Namespace: PPJ.Runtime.Windows
Assembly: PPJ.Runtime.50 (5.0.0.0)
Provides grid layout, row context, styling, selection, and native event routing for SAL table controls.
- C#
- VB.NET
public class SalTableWindowBase : UserControl
Public Class SalTableWindowBase
Inherits UserControl
Example:
void Configure(PPJ.Runtime.Windows.SalTableWindowBase table)
{
table.ShowCursor = true;
table.FocusRowStyle = PPJ.Runtime.Windows.FocusRowStyle.Thin;
}
Properties
ActionType
ChangeCellAction: Gets or sets whether the pending cell change originates from code, the mouse, or the keyboard.
ActiveColumn
SalTableColumn: Gets the SAL column corresponding to the current grid column.
AllowDraggingLockedColumns
Boolean: Gets or sets whether locked columns may participate in drag reordering. (Default: False)
AllowSorting
Boolean: Gets or sets whether the main grid supports automatic single-column sorting. (Default: False)
AnchorRow
Int32: Gets the row index anchoring the current selection operation.
AutoScroll
Boolean: Gets false; container automatic scrolling assignments are ignored because the grids manage scrolling. (Default: False)
AutoScrollMargin
Size: Gets an empty size; container scroll-margin assignments are ignored.
AutoScrollMinSize
Size: Gets an empty size; container minimum-scroll-size assignments are ignored.
BackColor
Color: Gets or sets the table background, substituting the system window color for an empty color on a nonembedded table.
BackgroundImage
Image: Gets null; background image assignments are ignored. (Default: null)
ColHeader
Row: Gets the first fixed grid row used for column headers, or null when no fixed row exists.
Columns
SalTableColumnCollection: Gets the lazily constructed SAL column collection.
ContextRow
Int32: Gets or requests a change to the SAL row context used for column-value access.
CurrentGrid
C1FlexGrid: Gets the grid currently used for focus and navigation.
CurrentRow
Int32: Gets the stored current row index used by table navigation.
DefaultRowHeight
Int32: Gets or sets the main grid default row height in pixels; nonpositive assignments are ignored.
ExtendLastColumn
Boolean: Gets or sets whether the last column extends across unused horizontal space in both grids. (Default: True)
FocusRow
Int32: Gets or sets the SAL row corresponding to the focused grid row; unresolved assignments are ignored.
FocusRowStyle
FocusRowStyle: Gets or sets the focus-row frame thickness in both grids. (Default: Thick)
IsEmbedded
Boolean: Gets whether the table is hosted as an embedded form table; the base implementation returns false.
MainGrid
C1FlexGrid: Gets the primary ComponentOne grid.
Redraw
Boolean: Gets whether redraw is enabled or adjusts the nested redraw-suppression count.
Each false assignment begins an update and requires a matching true assignment. Redrawing resumes when the count returns to zero.
RowHeader
Column: Gets the first fixed grid column used for row headers, or null when no fixed column exists.
RowHeaderFlags
Int32: Gets or replaces the row-header flags and refreshes their display.
RowHeaderImages
ArrayList: Gets the mutable collection of custom row-header images, creating it on first access.
RowHeaderTitle
String: Gets or sets the caption of the main row-header column.
RowHeaderTitleAlign
HorizontalAlignment: Gets or sets an explicit horizontal alignment for the row-header title.
RowHeaderWidth
Int32: Gets or sets the row-header width in pixels, synchronizing the secondary grid when present.
Rows
SalTableRowCollection: Gets a new live view of the main grid data rows, excluding fixed headers.
ShowCellLabels
Boolean: Gets or sets whether both grids display labels revealing partially hidden cell contents. (Default: False)
ShowCursor
Boolean: Gets or sets whether a current-row arrow appears in both grids, widening the row header to at least 24 pixels when enabled. (Default: False)
ShowFocusRow
Boolean: Gets or sets whether a focus frame appears around the current row; enabling a hidden frame selects the thick style. (Default: True)
SplitGrid
C1FlexGrid: Gets the optional secondary grid, or null when the table is not split.
SplitRows
SalTableRowCollection: Gets a new live view of secondary-grid data rows, or null when no secondary grid exists.
Splitter
Splitter: Gets the control that separates the main and secondary grids.
TableFlags
Int32: Gets or replaces the SAL table flags and applies all supported table-style effects.
Trimming
StringTrimming: Gets or sets how normal cell text is trimmed when it exceeds cell bounds in either grid. (Default: None)
UseVisualStyles
Boolean: Gets or sets whether both grids use the system visual style instead of custom header drawing. (Default: False)
Methods
CanEditCell(grid, row, col)
Checks grid, row, column, visibility, and SAL column permissions for editing a cell.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The target grid. |
| row | Int32 | The native row index. |
| col | Int32 | The native column index. |
Returns: Boolean. True only for an existing visible data cell with all editing permissions enabled.
CanMoveCell()
Attempts to finish editing the current grid cell before navigation.
Returns: Boolean. True if editing can finish; otherwise, false.
ClearSelectedColumns()
Clears selected columns in both grids when the main grid has selected columns.
Selection events, SAL messages, and repainting are suppressed during the change.
ClearSelectedRows()
Clears row selection in both grids while suppressing repainting and selection events.
ClearUnusedStyles()
Removes unreferenced styles from the main and optional secondary grids.
CreateHandle()
Initializes column positions before first native handle creation.
CreateSplitGrid(visibleRows, resizable)
Creates or resizes the secondary grid, synchronizing columns and installing native message hooks.
| Parameter | Type | Description |
|---|---|---|
| visibleRows | Int32 | The positive number of rows used to calculate the requested split height. |
| resizable | Boolean | Whether the separator can be dragged. |
Throws:
- ArgumentException The requested row count is less than one and the main grid is not disposed.
DestroySplitGrid()
Returns context to the main grid, disposes the secondary grid and splitter, and restores main-grid scrollbars.
Dispose(disposing)
Unsubscribes from the static skin-change event before disposing the base control.
| Parameter | Type | Description |
|---|---|---|
| disposing | Boolean | True to release managed resources; false during finalization cleanup. |
FinishEditing(grid, cancel)
Closes any combo-box drop-down and asks the grid to finish or cancel editing.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid containing the editor. |
| cancel | Boolean | True to cancel changes; false to finish editing normally. |
Returns: Boolean. The grid editing-completion result.
GetCellStyle(column, row)
Gets the effective display style at a SAL column and row.
| Parameter | Type | Description |
|---|---|---|
| column | SalTableColumn | The grid-backed SAL column. |
| row | Int32 | The SAL context row. |
Returns: CellStyle. The display style, or null when the cell cannot be resolved.
GetCellStyleNew(column, row)
Gets or creates a writable cell style, copying framework-managed styles before modification.
| Parameter | Type | Description |
|---|---|---|
| column | SalTableColumn | The grid-backed SAL column. |
| row | Int32 | The SAL context row. |
Returns: CellStyle. The writable cell style, or null when the cell cannot be resolved.
Existing styles whose names begin with PPJ: are replaced with a cell-specific style that retains their settings.
GetColHeaderStyle(column)
Gets the effective fixed-cell style for a column header.
| Parameter | Type | Description |
|---|---|---|
| column | SalTableColumn | The column to inspect. |
Returns: CellStyle. The header display style, or null for a missing column or grid-column binding.
GetColHeaderStyleNew(column)
Gets or creates a writable fixed-cell style for a column header.
| Parameter | Type | Description |
|---|---|---|
| column | SalTableColumn | The column to style. |
Returns: CellStyle. The writable header style, or null for a missing column or grid-column binding.
GetCols(grid)
Gets a live grid column collection after checking disposal.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid to inspect. |
Returns: ColumnCollection. The grid column collection, including fixed columns.
Throws:
- ObjectDisposedException The grid is disposed.
GetColStyle(column)
Gets the effective display style of a grid-backed SAL column.
| Parameter | Type | Description |
|---|---|---|
| column | SalTableColumn | The column to inspect. |
Returns: CellStyle. The display style, or null for a missing column or grid-column binding.
GetColStyleNew(column)
Gets or creates a writable column style and shares it with the split-grid column when present.
| Parameter | Type | Description |
|---|---|---|
| column | SalTableColumn | The column to style. |
Returns: CellStyle. The writable style, or null for a missing column or grid-column binding.
GetContextRowFromCode(rowCode)
Translates SAL boundary and temporary-row codes into context-row values.
| Parameter | Type | Description |
|---|---|---|
| rowCode | Int32 | A context row or TBL_* row code. |
Returns: Int32. The translated value; ordinary row indices pass through unchanged.
GetRowHeaderStyle(row)
Gets the effective fixed-cell style for a row header.
| Parameter | Type | Description |
|---|---|---|
| row | Int32 | The SAL context row. |
Returns: CellStyle. The row-header display style, or null when the context cannot be translated.
GetRowHeaderStyleNew(row)
Gets or creates a row-specific fixed-cell style for modifying its header.
| Parameter | Type | Description |
|---|---|---|
| row | Int32 | The SAL context row. |
Returns: CellStyle. The writable header style, or null when the context cannot be translated.
GetRows(grid)
Gets a live grid row collection after checking disposal.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid to inspect. |
Returns: RowCollection. The grid row collection, including fixed rows.
Throws:
- ObjectDisposedException The grid is disposed.
GetRowStyle(row)
Gets the effective display style for a row.
| Parameter | Type | Description |
|---|---|---|
| row | Int32 | The SAL context row. |
Returns: CellStyle. The display style, or null if the context cannot be translated.
GetRowStyleNew(row)
Gets or creates a row-specific style for modification.
| Parameter | Type | Description |
|---|---|---|
| row | Int32 | The SAL context row. |
Returns: CellStyle. The writable row style, or null when the context cannot be translated.
IsOnColumnMoveArea(grid, ht)
Checks the six-pixel drag strip at the bottom of a movable column header.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid; the current implementation uses the table header properties. |
| ht | HitTestInfo | The hit-test result to inspect. |
Returns: Boolean. True for an eligible column-header drag strip when column movement or design mode is enabled.
IsValidCol(grid, col)
Checks whether an index identifies a nonfixed column in a live table.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The target grid. |
| col | Int32 | The native column index. |
Returns: Boolean. True for an existing nonfixed column; otherwise, false.
IsValidContextRow(rowNum)
Checks whether a SAL context row translates to an existing grid index.
| Parameter | Type | Description |
|---|---|---|
| rowNum | Int32 | The SAL context row or supported row code. |
Returns: Boolean. True when translation succeeds; this does not reject deleted rows.
IsValidRow(grid, row)
Checks whether an index identifies a nonfixed row in a live table.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The target grid. |
| row | Int32 | The native row index. |
Returns: Boolean. True for an existing nonfixed row; otherwise, false.
OnAfterDragColumn(grid, args)
Mirrors column movement into the split grid.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | DragRowColEventArgs | The source column and destination position. |
OnAfterEdit(grid, args)
Provides an override point after a cell edit completes.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The edited cell. |
The base implementation performs no action.
OnAfterResizeColumn(grid, args)
Synchronizes the resized main-grid column width with its SAL control and split-grid counterpart.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The resized column indices. |
OnAfterResizeRow(grid, args)
Provides an override point after a row is resized.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The resized row. |
The base implementation performs no action.
OnAfterRowColChange(grid, args)
Updates the SAL row context and applies mouse- or keyboard-driven row-selection rules.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RangeEventArgs | The old and new cell ranges. |
OnAfterScroll(grid, args)
Synchronizes horizontal scrolling across grids and raises a Windows Forms Scroll event.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RangeEventArgs | The previously and currently visible ranges. |
OnBackColorChanged(e)
Propagates the table background color to both grids.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The color-change event data. |
OnBeforeDragColumn(grid, args)
Cancels dragging from or into the frozen column range unless locked-column dragging is enabled.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | DragRowColEventArgs | The proposed move and cancellation state. |
OnBeforeMouseDown(grid, args)
Dispatches cell and header clicks and blocks double-click editing when the target is unsuitable.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | BeforeMouseDownEventArgs | The pending mouse input and cancellation state. |
OnBeforeRowColChange(grid, args)
Cancels a cell change when current editing cannot finish.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RangeEventArgs | The proposed range change and cancellation state. |
OnButtonClick(grid, args)
Provides an override point when a cell button is clicked.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The cell containing the clicked button. |
The base implementation performs no action.
OnCausesValidationChanged(e)
Propagates the validation-trigger setting to both grids.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The setting-change event data. |
OnChangeEdit(grid, args)
Forwards editor-content changes to the active SAL column.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | EventArgs | The edit-change event data. |
OnChildEditWndProc(sender, edit, m)
Intercepts clipboard and focus messages for a native cell editor.
| Parameter | Type | Description |
|---|---|---|
| sender | NativeWindow | The editor native-window hook. |
| edit | Control | The cell editor. |
| m | Message | The native message and result. |
Returns: Boolean. The clipboard hook result for cut, paste, or clear; false for other messages.
OnChildGridWndProc(sender, grid, m)
Intercepts child-grid focus and mouse-movement messages.
| Parameter | Type | Description |
|---|---|---|
| sender | NativeWindow | The native grid-window hook. |
| grid | C1FlexGrid | The grid receiving the message. |
| m | Message | The native message and result. |
Returns: Boolean. True when handled by a specialized hook; false to continue native processing.
OnComboCloseUp(grid, args)
Provides an override point when a cell combo list closes.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The cell whose combo list closes. |
The base implementation performs no action.
OnComboDropDown(grid, args)
Provides an override point when a cell combo list opens.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The cell whose combo list opens. |
The base implementation performs no action.
OnControlAdded(e)
Registers added SAL columns or redirects them to the enclosing form for embedded tables.
| Parameter | Type | Description |
|---|---|---|
| e | ControlEventArgs | The added control. |
OnControlRemoved(e)
Removes a departing SAL column from the live table before raising the base event.
| Parameter | Type | Description |
|---|---|---|
| e | ControlEventArgs | The removed control. |
OnDrawCell(grid, args)
Provides an override point for custom cell drawing.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | OwnerDrawCellEventArgs | The cell, drawing surface, and drawing state. |
The base implementation performs no action.
OnEnter(grid, args)
Provides an override point when a child grid is entered.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | EventArgs | The entry event data. |
The base implementation performs no action.
OnEnterCell(grid, args)
Provides an override point when a cell is entered.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | EventArgs | The cell-entry event data. |
The base implementation performs no action.
OnForeColorChanged(e)
Propagates foreground colors to normal and fixed cells in both grids.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The color-change event data. |
OnGotFocus(grid, lostFocusHandle)
Applies focused highlight colors to both grids and raises the control focus event.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid receiving focus. |
| lostFocusHandle | IntPtr | The native window losing focus. |
OnHandleCreated(e)
Initializes selection, native grid hooks, skin colors, and designer callbacks, then ends grid initialization.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The handle-creation event data. |
OnHandleDestroyed(e)
Detaches the designer load-completion callback before base handle-destruction processing.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The handle-destruction event data. |
OnKeyDownEdit(grid, args)
Routes editor keys through the SAL column and applies combo-box and popup-editor navigation rules.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | KeyEditEventArgs | The edited cell, key, and handled state. |
OnKeyPressEdit(grid, args)
Forwards editor character input to the corresponding SAL column.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | KeyPressEditEventArgs | The edited cell, character, and handled state. |
OnKeyUpEdit(grid, args)
Forwards editor key releases to the corresponding SAL column.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | KeyEditEventArgs | The edited cell, key, and handled state. |
OnLeaveCell(grid, args)
Provides an override point when a cell is left.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | EventArgs | The cell-exit event data. |
The base implementation performs no action.
OnLeaveEdit(grid, args)
Forwards editor-exit processing to the corresponding SAL column.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The cell leaving edit mode. |
OnLoad(e)
Subscribes to application skin changes before raising the base load event.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The load event data. |
OnLostFocus(grid, gotFocusHandle)
Applies inactive highlight colors to both grids and raises the control focus-loss event.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid losing focus. |
| gotFocusHandle | IntPtr | The native window receiving focus. |
OnMouseDown(grid, args)
Clears the selection anchor for header clicks or records an anchor for mouse range selection.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | MouseEventArgs | The mouse location, button, and click count. |
OnMouseMove(grid, args)
Marks navigation as mouse-driven and updates the column-move cursor when capture is inactive.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | MouseEventArgs | The mouse location and button state. |
OnMouseUp(grid, args)
Clears mouse-selection state and validates an eligible checkbox toggle in the focused cell.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | MouseEventArgs | The mouse location and click count. |
OnResize(grid, args)
Provides an override point when a child grid is resized.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | EventArgs | The resize event data. |
The base implementation performs no action.
OnRowChangeValidate(grid, args)
Provides an override point for validation before changing rows.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RangeEventArgs | The proposed range change and cancellation state. |
The base implementation performs no action.
OnSetupEditor(grid, args)
Lets the SAL column configure the editor and installs its native message hook at run time.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The cell whose editor is being configured. |
OnSortColumn(grid, args)
Forwards column sorting to the corresponding SAL column.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | SortColEventArgs | The sorting request and column. |
OnStartEdit(grid, args)
Clears row and column selection, rejects editing an unfocused cell, and lets the SAL column prepare the editor.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | RowColEventArgs | The cell being edited and cancellation state. |
OnValidateEdit(grid, args)
Provides an override point for validating a proposed cell value.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The originating grid. |
| args | ValidateEditEventArgs | The cell, proposed value, and validation state. |
The base implementation performs no action.
ProcessCmdKey(msg, keyData)
Marks navigation as keyboard-driven when no mouse button is pressed, then performs base command-key processing.
| Parameter | Type | Description |
|---|---|---|
| msg | Message | The keyboard message. |
| keyData | Keys | The key and modifier flags. |
Returns: Boolean. The base command-key result.
SelectFullRow(grid, row)
Selects a valid data row while suppressing selection events, then moves the grid column to zero.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The target grid. |
| row | Int32 | The native grid row index. |
SetContextRow(rowNum)
Changes the row context and current grid after validating the requested row.
| Parameter | Type | Description |
|---|---|---|
| rowNum | Int32 | The SAL context row, including TBL_TempRow where supported. |
Returns: Boolean. True after setting context; false for an untranslatable, invalid, or deleted row.
SetFocusCellStyle(grid, editable)
Uses a light focus rectangle for editable cells and a solid rectangle for other cells.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid whose focus style changes. |
| editable | Boolean | Whether the focused cell is editable. |
TestRowFlags(row, maskOn, maskOff)
Tests a nondeleted row against inclusion and exclusion flag masks.
| Parameter | Type | Description |
|---|---|---|
| row | SalTableRow | The row to test. |
| maskOn | Int32 | At least one of these flags must be present; zero imposes no inclusion requirement. |
| maskOff | Int32 | None of these flags may be present. |
Returns: Boolean. True when the row exists, is not deleted, and satisfies both masks.
TestRowHeaderFlags(flags)
Checks whether all requested row-header flags are enabled.
| Parameter | Type | Description |
|---|---|---|
| flags | Int32 | The flags to test. |
Returns: Boolean. True when every bit is set, including an empty mask.
TestTableFlags(flags)
Checks whether all requested table flags are enabled.
| Parameter | Type | Description |
|---|---|---|
| flags | Int32 | The flags to test. |
Returns: Boolean. True when every bit is set, including an empty mask.
TranslateRowContext(rowNum, rowIndex, grid)
Resolves a SAL row context to the main or split grid and its native row index.
| Parameter | Type | Description |
|---|---|---|
| rowNum | Int32 | The SAL row context or supported row code. |
| rowIndex | Int32 | Receives the native index after fixed header rows are accounted for. |
| grid | C1FlexGrid | Receives the selected grid, initially the main grid even on failure. |
Returns: Boolean. True when the translated index exists; false for a disposed main grid, absent split grid, or out-of-range index.
UpdateRowsHeight(grid, height)
Assigns a height to every nonfixed row in a grid while suppressing redraw.
| Parameter | Type | Description |
|---|---|---|
| grid | C1FlexGrid | The grid whose rows are resized. |
| height | Int32 | The row height in pixels; positive values also update the main grid default height. |
Inherited By
| Name | Description |
|---|---|
| SalTableWindow | Displays SAL table rows and columns with window actions, cell editing, and row enumeration. |
| SalQuickToolTipChildTable | Provides a SAL child table with Quick Objects tooltip and status-text compatibility methods. |