ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Table functions
  • Characteristics of inserted row
  • Position of inserted row
  • Limitations: Maximum number of rows displayed
  • Miscellaneous
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Inserts a row into:
  • a Table control,
  • a TreeView Table control,
  • WINDEV a table displayed in a Combo Box control.
Remarks:
Example
// Insert the "Vince" and "Moore" elements
// in the 5th row of "TABLE_CustomerTable" control
ResInsert = TableInsert(TABLE_CustomerTable, "Vince" + TAB + "Moore", 5)
Syntax
<Result> = TableInsert(<Table control> [, <Row> [, <Index>]])
<Result>: Boolean
  • True if the element was inserted,
  • False otherwise.
<Table control>: Control name
Name of the control to be used. This control can correspond to:
  • a Table control.
  • a TreeView Table control.
  • WINDEV a Combo Box control with table.
If this parameter corresponds to an empty string (""), the control used will be the control to which the current event belongs.
<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 specifiedThe 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 0The row is inserted at the beginning of the control.
Index equal to -1The row is inserted before the current row.
Remarks
TableInsert 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.
    WEBDEV - Server codePHP Reminder: Multi-selection is not available for Table controls in "Server" mode.
WEBDEV - Server codePHP This function is available for Table controls in "Server" and "Server + AJAX" mode, and for TreeView Table controls.
WEBDEV - Browser code This function is available for Table controls in "Browser" mode only.
WEBDEV - Browser code The TreeView Table control is not available.
AndroidiPhone/iPad Table controls based on a data file are not available in edit mode. TableInsert cannot be used on Table controls based on a data file.

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.
Special cases:
  • 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).

Miscellaneous

To add rows at the end of a Table or TreeView Table control, use TableAddLine.
WINDEVWEBDEV - Server codeJavaPHP

Adding rows

The NewLine property is used to determine if the current row has just been created by TableInsert (NewLine = True).
WINDEVWEBDEV - Server codeJavaPHP

Cascading input

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
TableInsert(TABLE_CustomerTable)
END
WEBDEV - Server codePHP This operating mode is available for Table controls in Ajax mode only.
WINDEVWEBDEV - Server codeJavaPHP

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.
Remarks:
  • The "Cascading input (Add)" option can be selected in the "Details" tab of the control description.
  • Java 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.
  • WEBDEV - Server code Cascading input is only available for "Server + AJAX" Table controls based on a data file.
WINDEVWEBDEV - Server codeJavaPHP

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.
If TableInsert 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.
WEBDEV - Server codePHP This operating mode is only available for "Server + AJAX" Table controls based on a data file.
WINDEVJavaUser code (UMC)

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.

Inserting images

To insert an image into a Table control:
  • WINDEV specify the name and full path of image to insert. For example:
    TableInsert(TABLE_MyTable, "C:\MyDocuments\MyImage.BMP")
  • WEBDEV - Server codePHP specify the path and name of image to insert. The path is relative to the "<Project_Name>_WEB" directory. For example:
    // Adds the image found in the "WB_MyApp_WEB" directory
    TableInsert(TABLE_MyTable, "MyImage.BMP")
Remark: The column must be an Image column otherwise the added image will not be displayed properly.
Component: wd300obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/23/2022

Send a report | Local help