Skip to main content

SalFormTableWindow

Namespace: PPJ.Runtime.Windows

Assembly: PPJ.Runtime.50 (5.0.0.0)

Provides a top-level form whose client area contains a SAL table window.

public class SalFormTableWindow : SalForm, IEnumerable<SalTableRow>, IEnumerable

Table properties and operations delegate to the embedded control exposed by TableWindow. Columns added to the form are registered with that control.

Example:

using (var form = new PPJ.Runtime.Windows.SalFormTableWindow())
{
form.Text = "Results";
form.TableWindow.ReadOnly = true;
form.ShowDialog();
}

Constructors

Instance member SalFormTableWindow()

Creates the form and a table control docked to fill its client area.

Properties

Instance member AllowAutoEditing

Boolean: Gets or sets whether eligible focused cells automatically enter edit mode. (Default: False)

Instance member AllowFiltering

Boolean: Gets or sets interactive filtering in the main grid. (Default: False)

Disabling filtering resets every main-grid column filter.

Instance member AllowRowSizing

Boolean: Gets or sets the row-header flag that permits row resizing. (Default: True)

Instance member AllowSorting

Boolean: Gets or sets whether the main grid supports automatic single-column sorting. (Default: False)

Instance member Columns

SalTableColumnCollection: Gets the lazily constructed SAL column collection.

Instance member ExtendLastColumn

Boolean: Gets or sets whether the last column extends across unused horizontal space in both grids. (Default: False)

Instance member FocusRowStyle

FocusRowStyle: Gets or sets the focus-row frame thickness in both grids. (Default: Thick)

Instance member Icon

Icon: Gets or sets the form icon.

Instance member Item(id)

SalTableColumn: Gets a column by its SAL column identifier.

Instance member Item(name)

SalTableColumn: Gets a column by its control name.

Instance member LinesPerRow

Int32: Gets or sets the number of text lines used to calculate row height.

Only values from 1 through 32 are accepted; other assignments are ignored.

Instance member ReadOnly

Boolean: Gets or sets whether editing is disabled in both main and split grids. (Default: False)

Instance member RowSizingStyle

RowsSizingStyle: Gets or sets how user row resizing propagates to other rows. (Default: FreeSize)

Instance member ShowCellLabels

Boolean: Gets or sets whether both grids display labels revealing partially hidden cell contents. (Default: False)

Instance member 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)

Instance member ShowFocusRow

Boolean: Gets or sets whether a focus frame appears around the current row; enabling a hidden frame selects the thick style. (Default: True)

Instance member TableWindow

SalTableWindow: Gets the embedded table control that implements this form's table operations.

Instance member Trimming

StringTrimming: Gets or sets how normal cell text is trimmed when it exceeds cell bounds in either grid. (Default: None)

Instance member UseNativeTypes

Boolean: Gets or sets native data-type handling for cell values and refreshes every column cell type when changed. (Default: False)

Instance member UseVisualStyles

Boolean: Gets or sets whether both grids use the system visual style instead of custom header drawing. (Default: False)

Instance member VirtualMode

Boolean: Gets or sets whether the main grid fetches visible rows after scrolling. (Default: False)

Enabling this mode installs a scroll handler and enables delayed scrolling.

Methods

Instance member AnyRows(nFlagsOn, nFlagsOff)

Checks both grids for a nondeleted row matching the flag filters.

ParameterTypeDescription
nFlagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
nFlagsOffSalNumberRow flags that must all be absent.

Returns: SalBoolean. True when a matching row exists; otherwise, false.

Instance member ClearSelection()

Clears selected rows in the main and split grids.

Returns: SalBoolean. Always true after processing.

Instance member ColumnAverage(columnID, flagsOn, flagsOff)

Calculates the numeric average for matching rows of a column, preserving row context.

ParameterTypeDescription
columnIDSalNumberThe SAL column identifier.
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
flagsOffSalNumberRow flags that must all be absent.

Returns: SalNumber. The average, or zero for an unresolved column or no matching rows.

Instance member ColumnSum(columnID, flagsOn, flagsOff)

Sums numeric values for matching rows of a column, preserving row context.

ParameterTypeDescription
columnIDSalNumberThe SAL column identifier.
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
flagsOffSalNumberRow flags that must all be absent.

Returns: SalNumber. The sum, or zero for an unresolved column, a date/time column, or no matching rows.

Instance member CopyRows(flagsOn, flagsOff)

Copies matching rows to the clipboard as tab-separated fields and CRLF-separated records.

ParameterTypeDescription
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
flagsOffSalNumberRow flags that must all be absent.

Returns: SalBoolean. True when a nonempty text block is submitted to the clipboard helper; false when there is no text to copy.

Instance member CreateColumn(columnPos, dispWidth, maxChars, title)

Creates a dynamic string column.

ParameterTypeDescription
columnPosSalNumberThe requested display position.
dispWidthSalNumberThe width in horizontal form units.
maxCharsSalNumberThe maximum text length.
titleSalStringThe column caption.

Returns: SalNumber. The new SAL column identifier.

Instance member CreateColumnEx(columnPos, dispWidth, title, maxChars, datatype)

Creates a dynamic column using a numeric SAL data-type code.

ParameterTypeDescription
columnPosSalNumberThe requested display position.
dispWidthSalNumberThe width in horizontal form units.
titleSalStringThe column caption.
maxCharsSalNumberThe maximum text length.
datatypeSalNumberThe SAL data-type code converted to DataType.

Returns: SalNumber. The new SAL column identifier.

Instance member DefineRowHeader(title, width, flags, column)

Configures the row-header caption, width, flags, and optional mirrored column.

ParameterTypeDescription
titleSalStringThe row-header caption.
widthSalNumberThe row-header width in pixels.
flagsSalNumberThe Sys.TBL_RowHdr_* display flags.
columnControlThe column to mirror; a column from another table is resolved by its identifier in this table.

Returns: SalBoolean. Always true after applying the settings.

Instance member DefineSplitWindow(rowsLowerHalf, dragAdjust)

Creates or resizes the split grid, or removes it for a nonpositive row count.

ParameterTypeDescription
rowsLowerHalfSalNumberThe desired visible split-row count; zero or less removes the split.
dragAdjustSalBooleanWhether the split separator can be dragged.

Returns: SalBoolean. Always true after processing.

Instance member DeleteRow(row, flag)

Removes or logically deletes a table row and updates row context.

ParameterTypeDescription
rowSalNumberThe SAL context row to delete.
flagSalNumberSys.TBL_NoAdjust physically removes the row; other values mark it deleted and hidden.

Returns: SalBoolean. True when deletion succeeds; false for an absent, already deleted, or validation-blocked row.

Instance member DeleteSelected(hSql)

Executes the prepared SQL command for selected existing rows and marks selected rows deleted.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared delete-command handle; new rows skip SQL execution.

Returns: SalBoolean. False when SQL execution fails; otherwise, true.

Instance member DeleteSelected(hSql, errorHandler)

Deletes selected rows within a temporary SQL error-handler context.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared delete-command handle; new rows skip SQL execution.
errorHandlerWhenSqlErrorHandlerThe callback active during SQL operations.

Returns: SalBoolean. False when SQL execution fails; otherwise, true.

Instance member DestroyColumns()

Stops population and removes all rows and columns only when every column is dynamic.

Returns: SalBoolean. True when no columns exist or all dynamic columns are destroyed; false if any static column prevents destruction.

Population is stopped even when a static column prevents removal.

Instance member DoDeletes(hSql, flagsOn)

Executes a prepared delete command for matching existing rows and marks matching rows deleted.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared SQL handle, using each matching row as context.
flagsOnSalNumberAt least one required row flag, or zero to include all nondeleted rows.

Returns: SalBoolean. False at the first failed execution; otherwise, true.

New rows are deleted locally without SQL execution. Earlier successful operations are retained if a later row fails.

Instance member DoDeletes(hSql, flagsOn, errorHandler)

Processes matching row deletions within a temporary SQL error-handler context.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared delete-command handle.
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
errorHandlerWhenSqlErrorHandlerThe callback active during SQL operations.

Returns: SalBoolean. False at the first failed execution; otherwise, true.

Instance member DoInserts(hSql, clearFlags)

Executes the prepared command with each new row as context.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared insert-command handle.
clearFlagsSalBooleanTrue to clear ROW_New and ROW_Edited after each successful execution.

Returns: SalBoolean. False at the first failed execution; otherwise, true.

When rows are processed, context remains on the last attempted row.

Instance member DoInserts(hSql, clearFlags, errorHandler)

Processes new-row inserts within a temporary SQL error-handler context.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared insert-command handle.
clearFlagsSalBooleanTrue to clear new and edited flags after each successful execution.
errorHandlerWhenSqlErrorHandlerThe callback active during SQL operations.

Returns: SalBoolean. False at the first failed execution; otherwise, true.

Instance member DoUpdates(hSql, clearFlags)

Executes the prepared command with each edited, nonnew row as context.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared update-command handle.
clearFlagsSalBooleanTrue to clear ROW_Edited after each successful execution.

Returns: SalBoolean. False at the first failed execution; otherwise, true.

When rows are processed, context remains on the last attempted row.

Instance member DoUpdates(hSql, clearFlags, errorHandler)

Processes edited-row updates within a temporary SQL error-handler context.

ParameterTypeDescription
hSqlSalSqlHandleThe prepared update-command handle.
clearFlagsSalBooleanTrue to clear the edited flag after each successful execution.
errorHandlerWhenSqlErrorHandlerThe callback active during SQL operations.

Returns: SalBoolean. False at the first failed execution; otherwise, true.

Instance member FetchRow(row)

Fetches through the requested row as needed, dispatches SAL fetch actions, and sets context on success.

ParameterTypeDescription
rowSalNumberThe requested SAL row context.

Returns: SalNumber. Sys.TBL_RowFetched, Sys.TBL_RowDeleted, or Sys.TBL_NoMoreRows.

Instance member FindNextRow(row, flagsOn, flagsOff)

Finds the next matching nondeleted row, continuing from split rows into the main grid.

ParameterTypeDescription
row by referenceSalNumberThe starting context row; receives the match on success and remains unchanged on failure. TBL_MinRow starts before the first row.
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
flagsOffSalNumberRow flags that must all be absent.

Returns: SalBoolean. True when a row is found; otherwise, false.

Instance member FindPrevRow(row, flagsOn, flagsOff)

Finds a matching nondeleted row before the supplied context.

ParameterTypeDescription
row by referenceSalNumberThe starting context row; receives the match on success and remains unchanged on failure.
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
flagsOffSalNumberRow flags that must all be absent.

Returns: SalBoolean. True when a row is found; otherwise, false.

Instance member GetColumnText(columnID, text)

Copies a column value from the current row context.

ParameterTypeDescription
columnIDSalNumberThe SAL column identifier.
text by referenceSalStringReceives formatted cell text, binary-string data for a binary column, or an empty string for an unresolved column.

Returns: SalBoolean. Always true.

Instance member GetColumnText(columnID)

Gets a column value from the current row context.

ParameterTypeDescription
columnIDSalNumberThe SAL column identifier.

Returns: SalString. Formatted cell text, binary-string data for a binary column, or an empty string for an unresolved column.

Instance member GetColumnWindow(col, flags)

Resolves a column handle by identifier or physical grid position.

ParameterTypeDescription
colSalNumberThe column identifier or native grid index.
flagsSalNumberSys.COL_GetPos selects position lookup; other values select identifier lookup.

Returns: SalWindowHandle. The column handle, or a null SAL handle when unresolved.

Instance member GetContextRow()

Gets the SAL row context used for column-value access.

Returns: SalNumber. The current context-row value.

Instance member GetLinesPerRow(lines)

Copies the configured text-line count per row.

ParameterTypeDescription
lines by referenceSalNumberReceives LinesPerRow.

Returns: SalBoolean. Always true.

Instance member GetLinesPerRow()

Gets the configured text-line count per row.

Returns: SalNumber. The LinesPerRow setting.

Instance member GetLockedColumns()

Gets the main grid frozen-column count.

Returns: SalNumber. The frozen count reported by the underlying grid.

Instance member GetMergedRange(row, col, clip)

Supplies a custom merged-cell range for the embedded table.

ParameterTypeDescription
rowInt32The grid row containing the cell.
colInt32The grid column containing the cell.
clipBooleanWhether the requested range should be clipped to the visible grid region.

Returns: CellRange. An empty range in the base implementation.

Override this method to supply application-specific cell merging.

Instance member GetRowFlags(row, flags)

Tests whether a nondeleted row has any requested flag.

ParameterTypeDescription
rowSalNumberThe SAL row context.
flagsSalNumberThe flag mask; zero never matches.

Returns: SalBoolean. True when at least one bit matches; false for an absent or deleted row.

Instance member GetTableFlags(flags)

Checks whether every requested table flag is enabled.

ParameterTypeDescription
flagsSalNumberThe table flag mask.

Returns: SalBoolean. True when all bits are set, including a zero mask.

Instance member HitTest(x, y, row, col, flags)

Classifies a table point against rows, headers, locked columns, and the split area.

ParameterTypeDescription
xSalNumberThe horizontal client coordinate in pixels.
ySalNumberThe vertical client coordinate in pixels.
row by referenceSalNumberReceives the SAL row context, or TBL_Error when no row is hit.
col by referenceSalWindowHandleReceives the associated column handle, or a null handle.
flags by referenceSalNumberReceives the combined Sys.TBL_XOver* and Sys.TBL_YOver* location flags.

Returns: SalBoolean. Always true after testing, including points outside data cells.

Instance member InsertRow(row)

Inserts a fetched row marked ROW_New and makes it the current row context.

ParameterTypeDescription
rowSalNumberThe insertion context; use TBL_MaxRow to append. Out-of-range translated positions append, and header positions are clamped past fixed rows.

Returns: SalNumber. The new context row, or Sys.TBL_Error for a disposed grid or an argument error.

Instance member KillCellEdit()

Finishes editing and selects the current full row when an active data column exists.

Returns: SalBoolean. True if editing finishes; false if validation prevents completion.

Instance member KillFocusRow()

Removes cell focus rectangles from both grids.

Returns: SalBoolean. Always true after updating the grids.

Protected member OnControlAdded(e)

Raises the control-added event and registers added table columns with the embedded table.

ParameterTypeDescription
eControlEventArgsThe event data identifying the added control.

Protected member OnControlRemoved(e)

Raises the control-removed event and unregisters removed table columns from the embedded table.

ParameterTypeDescription
eControlEventArgsThe event data identifying the removed control.

Protected member OnLayout(e)

Keeps the fill-docked table in front during general designer layout and then performs normal form layout.

ParameterTypeDescription
eLayoutEventArgsThe layout event data.

Protected member OnLoad(e)

Brings a fill-docked table to the front before raising the load event.

ParameterTypeDescription
eEventArgsThe load event data.

Instance member PasteRows()

Appends clipboard Unicode text as newline-separated rows and tab-separated visible-column values.

Returns: SalBoolean. True when text was available for processing, even if it contains no nonempty rows; false when text is unavailable or an exception is caught.

Hidden columns do not consume fields. Earlier inserted rows remain if a later operation fails.

Instance member Populate(hSql, select, method)

Executes a query and repopulates the table using immediate, demand-driven, or background filling.

ParameterTypeDescription
hSqlSalSqlHandleThe SQL handle used to prepare, execute, and fetch.
selectSalStringThe SQL statement, or an empty value to reuse a prepared statement.
methodSalNumberSys.TBL_FillNormal, TBL_FillAllBackground, or TBL_FillAll; an unrecognized combination defaults to filling all rows.

Returns: SalBoolean. False if preparation or execution fails; otherwise, the population result.

Existing rows and automatic columns are replaced. Columns can be generated from the result schema when no columns or INTO bindings are present.

Instance member Populate(hSql, select, method, errorHandler)

Repopulates the table within a temporary SQL error-handler context.

ParameterTypeDescription
hSqlSalSqlHandleThe SQL handle used to prepare, execute, and fetch.
selectSalStringThe statement, or an empty value to reuse the prepared statement.
methodSalNumberThe Sys.TBL_FillNormal, TBL_FillAllBackground, or TBL_FillAll population mode.
errorHandlerWhenSqlErrorHandlerThe SQL callback active during this call.

Returns: SalBoolean. False if preparation or execution fails; otherwise, the population result.

Instance member Populate(hSql, select)

Executes a query and fills the embedded table with all result rows.

ParameterTypeDescription
hSqlSalSqlHandleThe SQL handle used to prepare, execute, and fetch.
selectSalStringThe SQL statement, or an empty value to reuse the prepared statement.

Returns: SalBoolean. The result of populating the table with Sys.TBL_FillAll.

Instance member Populate(hSql, select, errorHandler)

Executes a query and fills all result rows within a temporary SQL error-handler context.

ParameterTypeDescription
hSqlSalSqlHandleThe SQL handle used to prepare, execute, and fetch.
selectSalStringThe SQL statement, or an empty value to reuse the prepared statement.
errorHandlerWhenSqlErrorHandlerThe SQL error callback active during the population call.

Returns: SalBoolean. The result of populating the table with Sys.TBL_FillAll.

Instance member QueryFocusCell(row, col)

Reads the current grid row and its enabled SAL column.

ParameterTypeDescription
row by referenceSalNumberReceives the translated focused-row context.
col by referenceSalWindowHandleReceives the column handle, or a null handle when the active column is absent or disabled.

Returns: SalBoolean. Always true.

Instance member QueryRowHeader(title, maxTitle, width, flags, col)

Reads the row-header caption, size, flags, and mirrored column.

ParameterTypeDescription
title by referenceSalStringReceives the caption, or an empty string if no header exists.
maxTitleSalNumberThe maximum number of caption characters to copy.
width by referenceSalNumberReceives the header width in pixels, or zero if absent.
flags by referenceSalNumberReceives the row-header flag mask.
col by referenceSalWindowHandleReceives the mirrored column handle, or a null handle.

Returns: SalBoolean. Always true.

Instance member QueryScroll(position, minRange, maxRange)

Reads the main grid top-row position and current row range.

ParameterTypeDescription
position by referenceSalNumberReceives the top row relative to fixed headers.
minRange by referenceSalNumberReceives a nonnegative lower bound adjusted for deleted rows.
maxRange by referenceSalNumberReceives the final data-row index, or -1 for no data rows.

Returns: SalBoolean. Always true.

Instance member QuerySplitWindow(rowsLowerHalf, dragAdjust)

Reads the split grid visible row span and resize setting.

ParameterTypeDescription
rowsLowerHalf by referenceSalNumberReceives the visible row span, or zero when no split exists.
dragAdjust by referenceSalBooleanReceives the splitter enabled state, or false when no split exists.

Returns: SalBoolean. Always true.

Instance member QueryVisibleRange(minRange, maxRange)

Calculates the main grid visible row span, including estimated unused space below existing rows.

ParameterTypeDescription
minRange by referenceSalNumberReceives the nonnegative first visible data-row index.
maxRange by referenceSalNumberReceives the estimated last visible data-row index, which may exceed existing data.

Returns: SalBoolean. Always true.

Instance member ResetTable()

Stops population, finishes editing, and clears table rows while suppressing redraw.

Returns: SalBoolean. True after resetting; false when editing cannot finish.

Population is stopped even when validation prevents the reset.

Instance member ScrollRow(row, column, flags)

Scrolls a fetched row to an edge or makes its cell visible.

ParameterTypeDescription
rowSalNumberThe requested SAL row context.
columnControlThe target column, or null for the first grid column.
flagsSalNumberSys.TBL_ScrollTop or TBL_ScrollBottom for edge placement; other values show the cell normally.

Returns: SalBoolean. Always true after scrolling; failure to fetch the row uses the main grid header position.

When forwarded through an emulated secondary base, this overload currently discards the flags.

Instance member ScrollRow(row, column)

Fetches a requested row as needed and scrolls its cell into view.

ParameterTypeDescription
rowSalNumberThe requested SAL row context.
columnControlThe target column, or null for the first grid column.

Returns: SalBoolean. Always true after scrolling; a row that cannot be fetched falls back to the main grid header position.

Instance member SetColumnText(columnID, text)

Assigns text to a column in the current row context.

ParameterTypeDescription
columnIDSalNumberThe SAL column identifier.
textSalStringThe text to assign.

Returns: SalBoolean. True when the column resolves and assignment completes; otherwise, false.

Instance member SetContextRow(row)

Selects the row used for subsequent column-value access.

ParameterTypeDescription
rowSalNumberThe SAL row index to make current.

Returns: SalBoolean. Whether the embedded table accepted the context row.

Instance member SetFlagsAnyRows(flags, set, flagsOn, flagsOff)

Changes flags on matching rows in both grids while preserving row context.

ParameterTypeDescription
flagsSalNumberThe row flags to change.
setSalBooleanTrue to set flags; false to clear them.
flagsOnSalNumberAt least one required row flag, or zero for no inclusion filter.
flagsOffSalNumberFlags that must be absent.

Returns: SalBoolean. True if at least one grid processes matching rows; false if no rows match or selection validation blocks all matching grids.

Instance member SetFocusCell(row, column, editMin, editMax)

Focuses a cell and starts editing when its type and permissions allow it.

ParameterTypeDescription
rowSalNumberThe SAL row context.
columnControlThe SAL column; a missing column falls back to focusing the full row.
editMinSalNumberThe first selected text position, clamped to zero when negative.
editMaxSalNumberThe exclusive selection end; values below editMin select through the text end.

Returns: SalBoolean. True when focus processing succeeds, whether or not editing starts; false for resolution, fetching, validation, or selection failure.

Instance member SetFocusRow(row)

Fetches and focuses a row without generating a programmatic SAM_Click notification.

ParameterTypeDescription
rowSalNumberThe SAL row context to focus.

Returns: SalBoolean. False when the row cannot be translated or fetched or editing cannot finish; otherwise, true after processing.

Instance member SetLinesPerRow(lines)

Assigns the text-line count used for row sizing.

ParameterTypeDescription
linesSalNumberA line count from 1 through 32; other values are ignored.

Returns: SalBoolean. Always true, including ignored assignments.

Instance member SetLockedColumns(lockedColumns)

Sets the frozen-column count in both grids.

ParameterTypeDescription
lockedColumnsSalNumberThe requested count, clamped from zero to the main grid column count.

Returns: SalBoolean. Always true after assignment.

Instance member SetRange(min, max)

Stops population and establishes a main-grid row range after finishing editing.

ParameterTypeDescription
minSalNumberThe minimum row; negative values leave the range unchanged.
maxSalNumberThe maximum row, or TBL_MaxRow for the filler unlimited mode. A value below min clears the data rows.

Returns: SalBoolean. False when editing cannot finish; otherwise, true.

Instance member SetRow(rowPos)

Navigates to the first, last, next, or previous visible row and gives it focus.

ParameterTypeDescription
rowPosSalNumberSys.TBL_SetFirstRow, TBL_SetLastRow, TBL_SetNextRow, or TBL_SetPrevRow.

Returns: SalNumber. The selected context row, or Sys.TBL_Error when navigation fails or the code is unsupported.

Moving to the last row fetches remaining data first.

Instance member SetRowFlags(row, flags, set)

Changes flags for a nondeleted row while preserving row context.

ParameterTypeDescription
rowSalNumberThe SAL row context.
flagsSalNumberThe Sys.ROW_* flags to modify.
setSalBooleanTrue to enable flags; false to clear them.

Returns: SalBoolean. False for a missing or deleted row, or when selecting requires editing that cannot finish; otherwise, true.

Instance member SetTableFlags(flags, set)

Sets or clears table flags, attempting to finish editing before applying them.

ParameterTypeDescription
flagsSalNumberThe Sys.TBL_Flag_* flags to modify.
setSalBooleanTrue to set the flags; false to clear them.

Returns: SalBoolean. Always true after applying flags, even if editing could not finish.

Instance member SortRows(columnID, order)

Sorts by an enabled sortable column and synchronizes the main-grid row context.

ParameterTypeDescription
columnIDSalNumberThe SAL column identifier.
orderSalNumberSys.TBL_SortDecreasing for descending order; other values sort ascending.

Returns: SalBoolean. True after sorting; false for a missing column or one without COL_EnableSort.

Protected member WndProc(m)

Restores table focus when the form activates and then processes the window message.

ParameterTypeDescription
m by referenceMessageThe message to process.

Focus restoration is skipped during validation, while a table editor is open, or when the table is hidden.

Inherited By

NameDescription
SalQuickToolTipTableWindowProvides a SAL table window with Quick Objects tooltip and status-text compatibility methods.

Implements

NameDescription
ISalWindowExposes SAL message dispatch and runtime metadata for child controls, forms, dialogs, and MDI windows.