- Characteristics of inserted row
- Position of inserted row
- Limitations: Maximum number of rows displayed
- Adding rows
- Cascading input
- Table or TreeView Table control based on a data file: Modifications in the linked data file
- Table or TreeView Table control based on a data file: Inserting several rows
- Editable Table or TreeView Table control
- Inserting images
In french: TableInsère
Inserts a row into:
- a Table control,
- a TreeView Table control,
- a table displayed in a Combo Box control.
// Insert the "Vince" and "Moore" elements
// in the 5th row of "TABLE_CustomerTable" control
ResInsert = TableInsert(TABLE_CustomerTable, "Vince" + TAB + "Moore", 5)
<Result> = TableInsert(<Table control> [, <Row> [, <Index>]])
- True if the element was inserted,
- False otherwise.
<Table control>: Control name
Name of the control to be used. This control can correspond to:
If this parameter corresponds to an empty string (""), the control used will be the control to which the current event belongs.
- a Table control.
- a TreeView Table control.
- a Combo Box control with table.
<Row>: Optional character string
Row to insert. This row has the following format:
<Element column1> + TAB + <Element column2> + TAB + ...
If this parameter is not specified, an empty row is inserted into the control. For a control based on a data file, the default values defined in the linked data file are taken into account.
<Index>: Optional integer
Index of the row to insert. The index of the first row is set to 1.
|Index not specified||The row is inserted before the current row. If no row is selected, the row is inserted at the bottom of the control.|
|Index greater than the number of control rows.||The row is inserted at the bottom of the control.|
|Index equal to 0||The row is inserted at the beginning of the control.|
|Index equal to -1||The row is inserted before the current row.|
can be used on:
- a Table or TreeView Table control based on a data file.
- a Table or TreeView Table control populated programmatically.
- a single-selection or multi-selection control.
Characteristics of inserted row
- Each inserted element is converted into the type of relevant column.
- To specify no value for an element, use an empty string ("") or 0 (according to the type of column). For example:
TableInsert(TABLE_CustomerTable, "Moore" + TAB + "Vince" + TAB + "" + TAB + "06/21/72")
- If an element corresponds to the calculation result, the numeric expression must be enclosed in brackets. For example:
TableInsert(TABLE_CalcTable, (53+29) + TAB + (83-21))
Position of inserted row
By default, the row is inserted at the specified position.
- If the control is sorted with TableSort, the new row is positioned according to the current sort and not the specified index.
- If the control is sorted by the user, the sort is ignored when inserting the row. The row is inserted at the specified position.
Limitations: Maximum number of rows displayed
The maximum number of rows that can be displayed in a Table or TreeView Table control is limited by the amount of available memory (theoretical maximum: 2 billion rows).
However, we do not advise you to use large Table or TreeView Table controls for performance and user-friendliness reasons (time required to fill the control for example).
To add rows at the end of a Table or TreeView Table control, use TableAddLine
property is used to determine if the current row has just been created by TableInsert
(NewLine = True
To perform a cascading input, TableInsert
must be used in the "Exit from a row" event of the Table control:
IF TABLE_CustomerTable.NewLine = True THEN
Table or TreeView Table control based on a data file: Modifications in the linked data file
If the cascading input is enabled, the content of data file linked to the control is automatically modified when the user goes to the next row.
If the cascading input is not enabled
, the content of data file linked to the control is not modified. To write the content of inserted row into the data file, TableSave
must be called after TableInsert
- The "Cascading input (Add)" option can be selected in the "Details" tab of the control description.
- The cascading input is not available for Table controls with direct access to the data source. This option is only available for Table controls populated programmatically and with in-memory data source.
Table or TreeView Table control based on a data file: Inserting several rows
A virtual row is created each time TableInsert
is called in a Table or TreeView Table control based on a data file. The information will be saved in the data file during the call to TableSave
is successively called in the same process without being followed by TableSave
, only the FIRST call is effective (the following calls are ignored). Only one row is added to the Table or TreeView Table control.
Editable Table or TreeView Table control
If TableInsert is called:
- In a control event, the cursor is automatically positioned on the first column to edit in the inserted row.
- In an event that does not belong to the control (or in another process), SetFocusAndReturnToUserInput must be used to resume the input in the Table or TreeView Table control.
To insert an image into a Table control:
- specify the name and full path of image to insert. For example:
: The column must be an Image column otherwise the added image will not be displayed properly.
This page is also available for…