PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Overview
  • Operating mode, programming and synchronization of a Table on source control
  • Adding an element
  • Modifying an element
  • Deleting an element
  • Handling a Table control on source in a WLanguage code: stored value
  • Changing through programming the base variable of a Table control on source
  • Limitation
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
Overview
A Table control on source is a Table control whose columns are bound to the elements of an Array variable, to the members of a class or to the elements of an advanced variable (e.g., xlsDocument).
Each Table control column can be, for example:
  • Bound to a member of a class instance,
  • Bound to an element in an array, etc.
  • Calculated: A column that is not bound to a variable is a calculated column. For calculated columns, the content of the column is recalculated each time a row is displayed.
A Table on source control is used to:
  • View the content of an Array variable, the content of a class or the content of an advanced variable.
  • Handle a table row (addition, deletion, modification, ...).
Caution: the synchronization between the Table control and its source is not automatic. Depending on the action performed, the action must be applied to the table or to the source.
Versions 22 and later
Android This feature is now available for Android applications.
New in version 22
Android This feature is now available for Android applications.
Android This feature is now available for Android applications.
Operating mode, programming and synchronization of a Table on source control

Adding an element

  • Case 1. Adding an element into the source of the Table control
    To propagate an addition made in the source to the Table control, use TableDisplay with the taInit constant. The selection and the sort performed by the user are lost.
  • Case 2. Adding an element into the Table control (cascading input)
    To manage the cascading inputs, the additions must be performed through programming in the source.
    We advise you to:
    • Perform the additions one by one in the code used to exit from the row.
    • Use TableDisplay (with the taInit constant) to update the bindings between the rows of the Table control and the elements in the source.

Modifying an element

  • Case 1. Modification in the source of the Table control
    To propagate the changes from the source to the Table control, use TableDisplay.
  • Case 2. Modification performed in the Table control
    If the modifications are performed in the table directly, these modifications are automatically applied.
    If the modifications are performed in the Table control by programming, TableSave must be used to validate the modifications. Then, the modifications are automatically carried over.
    Caution: Depending on the operations that were previously performed, the carryover may be performed at a wrong location if the source and the Table control are out-of-synch: the synchronization must always be maintained.

Deleting an element

  • Case 1. Deleting an item using its index in the source of the Table control
    The element must be deleted manually from the table and from the source.
    TableSeek is used to find out the row of the Table control corresponding to the element (the stored value of the Table control must correspond to the element of the source).
    Limitation: For simple sources (e.g., array of integers), use TableDisplay with the taInit constant to update the bindings between the rows of the Table control and the elements in the source. The selection and the sort performed by the user are lost.
  • Case 2. Deleting an element using its index in the Table control
    The element must be deleted manually from the Table control and from the source.
    TableSeek is used to find the index in the source that corresponds to the element deleted in the Table control.
    Limitation: For simple sources (e.g., array of integers), use TableDisplay with the taInit constant to update the bindings between the rows of the Table control and the elements in the source. The selection and the sort performed by the user are lost.
Handling a Table control on source in a WLanguage code: stored value
When handling a Table control on source through programming:
  • using <Table Name> in the code returns the content of the stored item.
  • using <Table Name> in a FOR EACH LINE loop returns the content of the stored item.
  • using <Table Name> [n] in the code returns the content of the stored item.
Changing through programming the base variable of a Table control on source
To change via programming the base variable of a Table on source control:
  1. In the description window of the Table control, the type of filling for the Table control must be set to "by variable" ("Content" tab).
  2. By programming, define the value of the following properties for the Table control:
    • BrowsedFile: this property is used to define the name of the data source for the fill. In this case, this property corresponds to an array of structures or to the name of an array of classes.
    • StoredItem: this property corresponds to the value returned in memory by the Table control, when selecting a row.
  3. For each column in the Table control, use the DataBinding property to define the name of the member of the array variable that will fill the column.
  4. Display the data in the Table control with TableDisplay.
Code example:
// Declare the array
STContact is Structure
sLastName is string
sFirstName is string
sEmail is string
END
 
t_Contact is array of STContact
 
 
// Assign the table properties
TABLE_CONTACT.BrowsedFile = ":t_Contact"
TABLE_CONTACT.StoredItem = ":t_Contact.sLastName"
 
// Assign the properties of the table columns
TABLE_CONTACT.COL_LASTNAME.DataBinding = ":t_Contact.sLastName"
TABLE_CONTACT.COL_FIRSTNAME.DataBinding = ":t_Contact.sFirstName"
TABLE_CONTACT.COL_EMAIL.DataBinding = ":t_Contact.sEmail"
 
TableDisplay(TABLE_CONTACT)
Limitation
The Table controls based on a simple type array (integers, character strings, ...) are available in read-only.
Minimum version required
  • Version 14
This page is also available for…
Comments
Click [Add] to post a comment