ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Controls, pages and windows / Table functions
  • Characteristics of inserted row
  • Position of inserted row
  • Limits: Maximum number of lines displayed
  • Miscellaneous
  • Adding rows
  • Cascading input
  • Table field/Hierarchical file table: Changes to the linked data file
  • Table field/Hierarchical table file: Insert several lines
  • Editable Table or TreeView Table control
  • Inserting images
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
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
// Insertion des éléments "Paul" et "Dubois" 
// dans la cinquième ligne de la champ Table "TABLE_TableClient"
ResInsertion = TableInsert(TABLE_TableClient, "Paul" + TAB + "Dubois", 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:
<Elément de la colonne1> + TAB + <Elément de la colonne2> + 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 will be 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 will be inserted before the current row.
Remarks
TableInsert can be used on:
  • Table or TreeView Table controls based on a data file.
  • Table or TreeView Table controls populated programmatically.
  • single-selection or multi-selection controls.
    WEBDEV - Server codePHP Reminder: Multi-selection is not available for Table fields 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_TableClient, "Dubois" + TAB + "Pierre" + TAB + "" + TAB + "21/06/72")
  • If an element corresponds to the calculation result, the numeric expression must be enclosed in brackets. For example:
    TableInsert(TABLE_TableCalcul, (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.

Limits: Maximum number of lines displayed

The maximum number of lines that can be displayed in a TreeView Table control or Hierarchical Table is limited only by the available RAM (theoretical maximum: 2 billion lines)..
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 a row" event of the Table control:
IF TABLE_TableClient.Nouveau = True THEN
	TableInsert(TABLE_TableClient)
END
WEBDEV - Server codePHP This function is only available for Table fields in Ajax mode..
WINDEVWEBDEV - Server codeJavaPHP

Table field/Hierarchical file table: Changes to 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 field/Hierarchical table file: Insert several lines

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_MaTable, "C:\MesDocuments\MonImage.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:
    // Ajoute l'image située dans le répertoire "WB_MonAppli_WEB"
    TableInsert(TABLE_MaTable, "MonImage.BMP")
Note: To display the added image correctly, the column must be of type Image.
Component: wd300obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/21/2024

Send a report | Local help