- Use conditions
- Characteristics of a row
- Position of added row
- Limitations: Maximum number of rows displayed
- Adding rows
- Cascading input
- Browsing Table or TreeView Table control: Modifications in the linked data file
- Browsing Table or TreeView Table control: Adding several rows
- Adding a record into a browsing Table control and releasing a trigger
- Browsing Table or TreeView Table control in edit
- Adding images
- Unicode management
In french: TableAjoute
Adds a row into:
- a Table control,
- a TreeView Table control,
- a Combo Box control "with table" (Table control displayed in a Combo Box control).
- TAB characters into the columns,
- all types of values into the columns,
- UNICODE data automatically and without conversion.
// Add "Moore", "Vince" and "06/21/72"
// at the end of the "TABLE_CustomerTable" control
ResAdd = TableAdd(TABLE_CustomerTable, "Moore" + TAB + "Vince" + TAB + "06/21/72")
<Result> = TableAdd(<Table control> [, <Row>])
- True if the element was added,
- 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 to which the current event belongs will be used.
- a Table control.
- a TreeView Table control.
- a Combo Box control with table.
<Row>: Optional character string
Row to add. This row has the following format:
<Element of column 1> + TAB + <Element of column 2> + TAB + ...
If this parameter is not specified, an empty row is added into the control. For a browsing control, the default values defined in the linked data file are taken into account.
TableAdd can be used on:
- a browsing or memory control,
- a single-selection or multi-selection control.
Characteristics of a row
- Each added element is converted into the type of the relevant column.
- To specify no value for an element, use an empty string ("") or 0 (according to the type of column). For example:
TableAdd(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:
TableAdd(TABLE_CalcTable, (53+29) + TAB + (83-21))
Position of added row
By default, the row is added at the end of the rows displayed by the control.
- If the control is sorted by TableSort, the added row is positioned in the control according to the current sort.
- If the control is sorted by the user, the sort is ignored when inserting the row. The row is added at the end of control.
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 a row at a specific position in a Table or TreeView Table control, use TableInsertLine.
- If the added row is the first row of the control, the added row becomes the current row.
property is used to determine if the current row has just been created by TableAdd
function (New = True
To perform a cascading input, TableAdd
must be used in the event "Exit from a row" of the Table control:
IF TABLE_CustomerTable.NewLine THEN
Browsing Table or TreeView Table control: Modifications in the linked data file
- If the cascading input is enabled, the 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 data file linked to the control is not modified. To write the content of the added row into the linked data file, TableSave must be used after TableAdd.
- The "Cascading input (Addition)" option can be selected in the "Details" tab of the control description.
- The cascading input is not available for browsing Table controls with direct access. This option is available for the memory Table controls and for the browsing Table controls loaded in memory.
Browsing Table or TreeView Table control: Adding several rows
A virtual row is created each time TableAdd
is called in a browsing Table or TreeView Table control. The information will be saved in the linked data file only when TableSave
is successively called in the same process without being followed by TableSave
, only the FIRST call is effective (the following calls are ignored). A single row is added into the browsing Table or TreeView Table control.
Adding a record into a browsing Table control and releasing a trigger
You have the ability to release a trigger when a record is added into a browsing Table control. For more details, see the documentation about HDescribeTrigger
Browsing Table or TreeView Table control in edit
If TableAdd is called:
- In a control event, the cursor is automatically positioned on the first column to edit in the added 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 add an image into a Table or TreeView Table control:
- specify the name and full path of image to add.
: The column must be an Image column otherwise the added image will not be displayed properly.
You can define how Unicode will be managed in the project configuration ("Unicode" tab of the configuration description window):
- If the "Use ANSI strings at runtime" option is selected: the data is converted using the current character set.
Reminder: ChangeCharset changes the current character set.
- If the "Use UNICODE strings at runtime" option is selected, the data is inserted without being converted,
This page is also available for…