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.
- C#
- VB.NET
public class SalFormTableWindow : SalForm, IEnumerable<SalTableRow>, IEnumerable
Public Class SalFormTableWindow
Inherits SalForm
Implements IEnumerable(Of 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
SalFormTableWindow()
Creates the form and a table control docked to fill its client area.
Properties
AllowAutoEditing
Boolean: Gets or sets whether eligible focused cells automatically enter edit mode. (Default: False)
AllowFiltering
Boolean: Gets or sets interactive filtering in the main grid. (Default: False)
Disabling filtering resets every main-grid column filter.
AllowRowSizing
Boolean: Gets or sets the row-header flag that permits row resizing. (Default: True)
AllowSorting
Boolean: Gets or sets whether the main grid supports automatic single-column sorting. (Default: False)
Columns
SalTableColumnCollection: Gets the lazily constructed SAL column collection.
ExtendLastColumn
Boolean: Gets or sets whether the last column extends across unused horizontal space in both grids. (Default: False)
FocusRowStyle
FocusRowStyle: Gets or sets the focus-row frame thickness in both grids. (Default: Thick)
Icon
Icon: Gets or sets the form icon.
Item(id)
SalTableColumn: Gets a column by its SAL column identifier.
Item(name)
SalTableColumn: Gets a column by its control name.
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.
ReadOnly
Boolean: Gets or sets whether editing is disabled in both main and split grids. (Default: False)
RowSizingStyle
RowsSizingStyle: Gets or sets how user row resizing propagates to other rows. (Default: FreeSize)
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)
TableWindow
SalTableWindow: Gets the embedded table control that implements this form's table operations.
Trimming
StringTrimming: Gets or sets how normal cell text is trimmed when it exceeds cell bounds in either grid. (Default: None)
UseNativeTypes
Boolean: Gets or sets native data-type handling for cell values and refreshes every column cell type when changed. (Default: False)
UseVisualStyles
Boolean: Gets or sets whether both grids use the system visual style instead of custom header drawing. (Default: False)
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
AnyRows(nFlagsOn, nFlagsOff)
Checks both grids for a nondeleted row matching the flag filters.
| Parameter | Type | Description |
|---|---|---|
| nFlagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| nFlagsOff | SalNumber | Row flags that must all be absent. |
Returns: SalBoolean. True when a matching row exists; otherwise, false.
ClearSelection()
Clears selected rows in the main and split grids.
Returns: SalBoolean. Always true after processing.
ColumnAverage(columnID, flagsOn, flagsOff)
Calculates the numeric average for matching rows of a column, preserving row context.
| Parameter | Type | Description |
|---|---|---|
| columnID | SalNumber | The SAL column identifier. |
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| flagsOff | SalNumber | Row flags that must all be absent. |
Returns: SalNumber. The average, or zero for an unresolved column or no matching rows.
ColumnSum(columnID, flagsOn, flagsOff)
Sums numeric values for matching rows of a column, preserving row context.
| Parameter | Type | Description |
|---|---|---|
| columnID | SalNumber | The SAL column identifier. |
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| flagsOff | SalNumber | Row flags that must all be absent. |
Returns: SalNumber. The sum, or zero for an unresolved column, a date/time column, or no matching rows.
CopyRows(flagsOn, flagsOff)
Copies matching rows to the clipboard as tab-separated fields and CRLF-separated records.
| Parameter | Type | Description |
|---|---|---|
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| flagsOff | SalNumber | Row 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.
CreateColumn(columnPos, dispWidth, maxChars, title)
Creates a dynamic string column.
| Parameter | Type | Description |
|---|---|---|
| columnPos | SalNumber | The requested display position. |
| dispWidth | SalNumber | The width in horizontal form units. |
| maxChars | SalNumber | The maximum text length. |
| title | SalString | The column caption. |
Returns: SalNumber. The new SAL column identifier.
CreateColumnEx(columnPos, dispWidth, title, maxChars, datatype)
Creates a dynamic column using a numeric SAL data-type code.
| Parameter | Type | Description |
|---|---|---|
| columnPos | SalNumber | The requested display position. |
| dispWidth | SalNumber | The width in horizontal form units. |
| title | SalString | The column caption. |
| maxChars | SalNumber | The maximum text length. |
| datatype | SalNumber | The SAL data-type code converted to DataType. |
Returns: SalNumber. The new SAL column identifier.
DefineRowHeader(title, width, flags, column)
Configures the row-header caption, width, flags, and optional mirrored column.
| Parameter | Type | Description |
|---|---|---|
| title | SalString | The row-header caption. |
| width | SalNumber | The row-header width in pixels. |
| flags | SalNumber | The Sys.TBL_RowHdr_* display flags. |
| column | Control | The column to mirror; a column from another table is resolved by its identifier in this table. |
Returns: SalBoolean. Always true after applying the settings.
DefineSplitWindow(rowsLowerHalf, dragAdjust)
Creates or resizes the split grid, or removes it for a nonpositive row count.
| Parameter | Type | Description |
|---|---|---|
| rowsLowerHalf | SalNumber | The desired visible split-row count; zero or less removes the split. |
| dragAdjust | SalBoolean | Whether the split separator can be dragged. |
Returns: SalBoolean. Always true after processing.
DeleteRow(row, flag)
Removes or logically deletes a table row and updates row context.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The SAL context row to delete. |
| flag | SalNumber | Sys.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.
DeleteSelected(hSql)
Executes the prepared SQL command for selected existing rows and marks selected rows deleted.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared delete-command handle; new rows skip SQL execution. |
Returns: SalBoolean. False when SQL execution fails; otherwise, true.
DeleteSelected(hSql, errorHandler)
Deletes selected rows within a temporary SQL error-handler context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared delete-command handle; new rows skip SQL execution. |
| errorHandler | WhenSqlErrorHandler | The callback active during SQL operations. |
Returns: SalBoolean. False when SQL execution fails; otherwise, true.
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.
DoDeletes(hSql, flagsOn)
Executes a prepared delete command for matching existing rows and marks matching rows deleted.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared SQL handle, using each matching row as context. |
| flagsOn | SalNumber | At 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.
DoDeletes(hSql, flagsOn, errorHandler)
Processes matching row deletions within a temporary SQL error-handler context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared delete-command handle. |
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| errorHandler | WhenSqlErrorHandler | The callback active during SQL operations. |
Returns: SalBoolean. False at the first failed execution; otherwise, true.
DoInserts(hSql, clearFlags)
Executes the prepared command with each new row as context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared insert-command handle. |
| clearFlags | SalBoolean | True 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.
DoInserts(hSql, clearFlags, errorHandler)
Processes new-row inserts within a temporary SQL error-handler context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared insert-command handle. |
| clearFlags | SalBoolean | True to clear new and edited flags after each successful execution. |
| errorHandler | WhenSqlErrorHandler | The callback active during SQL operations. |
Returns: SalBoolean. False at the first failed execution; otherwise, true.
DoUpdates(hSql, clearFlags)
Executes the prepared command with each edited, nonnew row as context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared update-command handle. |
| clearFlags | SalBoolean | True 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.
DoUpdates(hSql, clearFlags, errorHandler)
Processes edited-row updates within a temporary SQL error-handler context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The prepared update-command handle. |
| clearFlags | SalBoolean | True to clear the edited flag after each successful execution. |
| errorHandler | WhenSqlErrorHandler | The callback active during SQL operations. |
Returns: SalBoolean. False at the first failed execution; otherwise, true.
FetchRow(row)
Fetches through the requested row as needed, dispatches SAL fetch actions, and sets context on success.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The requested SAL row context. |
Returns: SalNumber. Sys.TBL_RowFetched, Sys.TBL_RowDeleted, or Sys.TBL_NoMoreRows.
FindNextRow(row, flagsOn, flagsOff)
Finds the next matching nondeleted row, continuing from split rows into the main grid.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The starting context row; receives the match on success and remains unchanged on failure. TBL_MinRow starts before the first row. |
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| flagsOff | SalNumber | Row flags that must all be absent. |
Returns: SalBoolean. True when a row is found; otherwise, false.
FindPrevRow(row, flagsOn, flagsOff)
Finds a matching nondeleted row before the supplied context.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The starting context row; receives the match on success and remains unchanged on failure. |
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| flagsOff | SalNumber | Row flags that must all be absent. |
Returns: SalBoolean. True when a row is found; otherwise, false.
GetColumnText(columnID, text)
Copies a column value from the current row context.
| Parameter | Type | Description |
|---|---|---|
| columnID | SalNumber | The SAL column identifier. |
| text | SalString | Receives formatted cell text, binary-string data for a binary column, or an empty string for an unresolved column. |
Returns: SalBoolean. Always true.
GetColumnText(columnID)
Gets a column value from the current row context.
| Parameter | Type | Description |
|---|---|---|
| columnID | SalNumber | The SAL column identifier. |
Returns: SalString. Formatted cell text, binary-string data for a binary column, or an empty string for an unresolved column.
GetColumnWindow(col, flags)
Resolves a column handle by identifier or physical grid position.
| Parameter | Type | Description |
|---|---|---|
| col | SalNumber | The column identifier or native grid index. |
| flags | SalNumber | Sys.COL_GetPos selects position lookup; other values select identifier lookup. |
Returns: SalWindowHandle. The column handle, or a null SAL handle when unresolved.
GetContextRow()
Gets the SAL row context used for column-value access.
Returns: SalNumber. The current context-row value.
GetLinesPerRow(lines)
Copies the configured text-line count per row.
| Parameter | Type | Description |
|---|---|---|
| lines | SalNumber | Receives LinesPerRow. |
Returns: SalBoolean. Always true.
GetLinesPerRow()
Gets the configured text-line count per row.
Returns: SalNumber. The LinesPerRow setting.
GetLockedColumns()
Gets the main grid frozen-column count.
Returns: SalNumber. The frozen count reported by the underlying grid.
GetMergedRange(row, col, clip)
Supplies a custom merged-cell range for the embedded table.
| Parameter | Type | Description |
|---|---|---|
| row | Int32 | The grid row containing the cell. |
| col | Int32 | The grid column containing the cell. |
| clip | Boolean | Whether 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.
GetRowFlags(row, flags)
Tests whether a nondeleted row has any requested flag.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The SAL row context. |
| flags | SalNumber | The flag mask; zero never matches. |
Returns: SalBoolean. True when at least one bit matches; false for an absent or deleted row.
GetTableFlags(flags)
Checks whether every requested table flag is enabled.
| Parameter | Type | Description |
|---|---|---|
| flags | SalNumber | The table flag mask. |
Returns: SalBoolean. True when all bits are set, including a zero mask.
HitTest(x, y, row, col, flags)
Classifies a table point against rows, headers, locked columns, and the split area.
| Parameter | Type | Description |
|---|---|---|
| x | SalNumber | The horizontal client coordinate in pixels. |
| y | SalNumber | The vertical client coordinate in pixels. |
| row | SalNumber | Receives the SAL row context, or TBL_Error when no row is hit. |
| col | SalWindowHandle | Receives the associated column handle, or a null handle. |
| flags | SalNumber | Receives the combined Sys.TBL_XOver* and Sys.TBL_YOver* location flags. |
Returns: SalBoolean. Always true after testing, including points outside data cells.
InsertRow(row)
Inserts a fetched row marked ROW_New and makes it the current row context.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The 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.
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.
KillFocusRow()
Removes cell focus rectangles from both grids.
Returns: SalBoolean. Always true after updating the grids.
OnControlAdded(e)
Raises the control-added event and registers added table columns with the embedded table.
| Parameter | Type | Description |
|---|---|---|
| e | ControlEventArgs | The event data identifying the added control. |
OnControlRemoved(e)
Raises the control-removed event and unregisters removed table columns from the embedded table.
| Parameter | Type | Description |
|---|---|---|
| e | ControlEventArgs | The event data identifying the removed control. |
OnLayout(e)
Keeps the fill-docked table in front during general designer layout and then performs normal form layout.
| Parameter | Type | Description |
|---|---|---|
| e | LayoutEventArgs | The layout event data. |
OnLoad(e)
Brings a fill-docked table to the front before raising the load event.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The load event data. |
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.
Populate(hSql, select, method)
Executes a query and repopulates the table using immediate, demand-driven, or background filling.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The SQL handle used to prepare, execute, and fetch. |
| select | SalString | The SQL statement, or an empty value to reuse a prepared statement. |
| method | SalNumber | Sys.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.
Populate(hSql, select, method, errorHandler)
Repopulates the table within a temporary SQL error-handler context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The SQL handle used to prepare, execute, and fetch. |
| select | SalString | The statement, or an empty value to reuse the prepared statement. |
| method | SalNumber | The Sys.TBL_FillNormal, TBL_FillAllBackground, or TBL_FillAll population mode. |
| errorHandler | WhenSqlErrorHandler | The SQL callback active during this call. |
Returns: SalBoolean. False if preparation or execution fails; otherwise, the population result.
Populate(hSql, select)
Executes a query and fills the embedded table with all result rows.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The SQL handle used to prepare, execute, and fetch. |
| select | SalString | The SQL statement, or an empty value to reuse the prepared statement. |
Returns: SalBoolean. The result of populating the table with Sys.TBL_FillAll.
Populate(hSql, select, errorHandler)
Executes a query and fills all result rows within a temporary SQL error-handler context.
| Parameter | Type | Description |
|---|---|---|
| hSql | SalSqlHandle | The SQL handle used to prepare, execute, and fetch. |
| select | SalString | The SQL statement, or an empty value to reuse the prepared statement. |
| errorHandler | WhenSqlErrorHandler | The SQL error callback active during the population call. |
Returns: SalBoolean. The result of populating the table with Sys.TBL_FillAll.
QueryFocusCell(row, col)
Reads the current grid row and its enabled SAL column.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | Receives the translated focused-row context. |
| col | SalWindowHandle | Receives the column handle, or a null handle when the active column is absent or disabled. |
Returns: SalBoolean. Always true.
QueryRowHeader(title, maxTitle, width, flags, col)
Reads the row-header caption, size, flags, and mirrored column.
| Parameter | Type | Description |
|---|---|---|
| title | SalString | Receives the caption, or an empty string if no header exists. |
| maxTitle | SalNumber | The maximum number of caption characters to copy. |
| width | SalNumber | Receives the header width in pixels, or zero if absent. |
| flags | SalNumber | Receives the row-header flag mask. |
| col | SalWindowHandle | Receives the mirrored column handle, or a null handle. |
Returns: SalBoolean. Always true.
QueryScroll(position, minRange, maxRange)
Reads the main grid top-row position and current row range.
| Parameter | Type | Description |
|---|---|---|
| position | SalNumber | Receives the top row relative to fixed headers. |
| minRange | SalNumber | Receives a nonnegative lower bound adjusted for deleted rows. |
| maxRange | SalNumber | Receives the final data-row index, or -1 for no data rows. |
Returns: SalBoolean. Always true.
QuerySplitWindow(rowsLowerHalf, dragAdjust)
Reads the split grid visible row span and resize setting.
| Parameter | Type | Description |
|---|---|---|
| rowsLowerHalf | SalNumber | Receives the visible row span, or zero when no split exists. |
| dragAdjust | SalBoolean | Receives the splitter enabled state, or false when no split exists. |
Returns: SalBoolean. Always true.
QueryVisibleRange(minRange, maxRange)
Calculates the main grid visible row span, including estimated unused space below existing rows.
| Parameter | Type | Description |
|---|---|---|
| minRange | SalNumber | Receives the nonnegative first visible data-row index. |
| maxRange | SalNumber | Receives the estimated last visible data-row index, which may exceed existing data. |
Returns: SalBoolean. Always true.
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.
ScrollRow(row, column, flags)
Scrolls a fetched row to an edge or makes its cell visible.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The requested SAL row context. |
| column | Control | The target column, or null for the first grid column. |
| flags | SalNumber | Sys.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.
ScrollRow(row, column)
Fetches a requested row as needed and scrolls its cell into view.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The requested SAL row context. |
| column | Control | The 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.
SetColumnText(columnID, text)
Assigns text to a column in the current row context.
| Parameter | Type | Description |
|---|---|---|
| columnID | SalNumber | The SAL column identifier. |
| text | SalString | The text to assign. |
Returns: SalBoolean. True when the column resolves and assignment completes; otherwise, false.
SetContextRow(row)
Selects the row used for subsequent column-value access.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The SAL row index to make current. |
Returns: SalBoolean. Whether the embedded table accepted the context row.
SetFlagsAnyRows(flags, set, flagsOn, flagsOff)
Changes flags on matching rows in both grids while preserving row context.
| Parameter | Type | Description |
|---|---|---|
| flags | SalNumber | The row flags to change. |
| set | SalBoolean | True to set flags; false to clear them. |
| flagsOn | SalNumber | At least one required row flag, or zero for no inclusion filter. |
| flagsOff | SalNumber | Flags 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.
SetFocusCell(row, column, editMin, editMax)
Focuses a cell and starts editing when its type and permissions allow it.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The SAL row context. |
| column | Control | The SAL column; a missing column falls back to focusing the full row. |
| editMin | SalNumber | The first selected text position, clamped to zero when negative. |
| editMax | SalNumber | The 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.
SetFocusRow(row)
Fetches and focuses a row without generating a programmatic SAM_Click notification.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The SAL row context to focus. |
Returns: SalBoolean. False when the row cannot be translated or fetched or editing cannot finish; otherwise, true after processing.
SetLinesPerRow(lines)
Assigns the text-line count used for row sizing.
| Parameter | Type | Description |
|---|---|---|
| lines | SalNumber | A line count from 1 through 32; other values are ignored. |
Returns: SalBoolean. Always true, including ignored assignments.
SetLockedColumns(lockedColumns)
Sets the frozen-column count in both grids.
| Parameter | Type | Description |
|---|---|---|
| lockedColumns | SalNumber | The requested count, clamped from zero to the main grid column count. |
Returns: SalBoolean. Always true after assignment.
SetRange(min, max)
Stops population and establishes a main-grid row range after finishing editing.
| Parameter | Type | Description |
|---|---|---|
| min | SalNumber | The minimum row; negative values leave the range unchanged. |
| max | SalNumber | The 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.
SetRow(rowPos)
Navigates to the first, last, next, or previous visible row and gives it focus.
| Parameter | Type | Description |
|---|---|---|
| rowPos | SalNumber | Sys.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.
SetRowFlags(row, flags, set)
Changes flags for a nondeleted row while preserving row context.
| Parameter | Type | Description |
|---|---|---|
| row | SalNumber | The SAL row context. |
| flags | SalNumber | The Sys.ROW_* flags to modify. |
| set | SalBoolean | True 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.
SetTableFlags(flags, set)
Sets or clears table flags, attempting to finish editing before applying them.
| Parameter | Type | Description |
|---|---|---|
| flags | SalNumber | The Sys.TBL_Flag_* flags to modify. |
| set | SalBoolean | True to set the flags; false to clear them. |
Returns: SalBoolean. Always true after applying flags, even if editing could not finish.
SortRows(columnID, order)
Sorts by an enabled sortable column and synchronizes the main-grid row context.
| Parameter | Type | Description |
|---|---|---|
| columnID | SalNumber | The SAL column identifier. |
| order | SalNumber | Sys.TBL_SortDecreasing for descending order; other values sort ascending. |
Returns: SalBoolean. True after sorting; false for a missing column or one without COL_EnableSort.
WndProc(m)
Restores table focus when the form activates and then processes the window message.
| Parameter | Type | Description |
|---|---|---|
| m | Message | The message to process. |
Focus restoration is skipped during validation, while a table editor is open, or when the table is hidden.
Inherited By
| Name | Description |
|---|---|
| SalQuickToolTipTableWindow | Provides a SAL table window with Quick Objects tooltip and status-text compatibility methods. |
Implements
| Name | Description |
|---|---|
| ISalWindow | Exposes SAL message dispatch and runtime metadata for child controls, forms, dialogs, and MDI windows. |