ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Table functions
  • Use conditions
  • Row characteristics
  • Position of the new 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: Adding several rows
  • Adding a record to a Table control based on a data file and releasing a trigger
  • Table or TreeView Table control based on a data file in edit mode
  • Adding images
  • Unicode management
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
Adds a row in:
  • a Table control,
  • a TreeView Table control,
  • WINDEV a Combo Box control "with table" (Table control displayed in a Combo Box control).
Remark: It is recommended to use TableAddLine. TableAddLine is used to add:
  • TAB characters into the columns,
  • all types of values into the columns,
  • UNICODE data automatically and without conversion.
Example
// 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")
Syntax
<Result> = TableAdd(<Table control> [, <Row>])
<Result>: Boolean
  • True if the element was added,
  • 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 to which the current event belongs will be used.
<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 control based on a data file, the default values defined in the linked data file are taken into account.
Remarks

Use conditions

TableAdd 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. TableAdd cannot be used on Table controls based on a data file.

Row characteristics

  • 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 the new row

By default, the row is added at the end of the rows displayed by the control.
Special case:
  • 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).

Miscellaneous

  • 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.
WINDEVWEBDEV - Server codeJavaPHP

Adding rows

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

Cascading input

To perform a cascading input, TableAdd must be used in the "Exit from a row" event of the Table control:
IF TABLE_CustomerTable.NewLine THEN
TableAdd(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 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 new row to the linked data file, TableSave must be used after TableAdd.
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: Adding several rows

A virtual row is created each time TableAdd is called in a Table or TreeView Table control based on a data file. The information will be saved in the linked data file only when TableSave is called.
If TableAdd 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.
WINDEVWEBDEV - Server codeJavaUser code (UMC)

Adding a record to a Table control based on a data file and releasing a trigger

A trigger can be released when a record is added in a Table control based on a data file. For more details, see the documentation about HDescribeTrigger.
WEBDEV - Server code This operating mode is only available for "Server + AJAX" Table controls based on a data file.
WINDEVJavaUser code (UMC)

Table or TreeView Table control based on a data file in edit mode

If TableAdd is called:
  • In a control event, the cursor is automatically positioned on the first editable column in the new 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.

Adding images

To add an image to a Table or TreeView Table control:
  • WINDEV specify the name and full path of the image to be added.
    For example:
    TableAdd(TABLE_MyTable, "C:\MyDocuments\MyImage.BMP")
  • WEBDEV - Server codePHP specify the path and name of image to add. The path is relative to the "<Project_Name>_WEB" directory.
    For example:
    // Adds the image found in the "WB_MyApp_WEB" directory
    TableAdd(TABLE_MyTable, "MyImage.BMP")
Remark: The column must be an Image column otherwise the added image will not be displayed properly.

Unicode management

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 "Use UNICODE strings at runtime" is selected, the data is inserted without being converted.
Component: wd300obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/20/2022

Send a report | Local help