PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US

  • Use conditions
  • Updating the data file linked to the Table or TreeView Table control
  • Cascading input and update of linked data file
  • Re-displaying the row that was saved
  • Locking and updating the data file
  • Duplicates and referential integrity
  • Using TableSave to reduce the number of code lines
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Modifies or adds the record associated with the current row in the browsing Table or browsing TreeView Table control. The record is updated:
  • in the data file linked to the control.
  • Versions 20 and later
    WINDEV in the object linked to the control.
    New in version 20
    WINDEV in the object linked to the control.
    WINDEV in the object linked to the control.
Versions 16 and later
WINDEVLinux This function is now available for the WINDEV applications in Linux.
New in version 16
WINDEVLinux This function is now available for the WINDEV applications in Linux.
WINDEVLinux This function is now available for the WINDEV applications in Linux.
Example
// Save the data found on the current row
// for the "TABLE_Product" control
TableSave(TABLE_Product)
// Save the data found on row 5
// while modifying a column by programming
TABLE_Product = 5
TABLE_Product[5].COL_Cap = "new value"
TableSave(TABLE_Product)
Versions 20 and later
// Row Exit process
IF TABLE_Customer..Modified = False THEN
RETURN
END
pclFormPresentation is PCustomerForm dynamic
IF TABLE_Customer..NewLine THEN
pclFormPresentation<-gclPresentation.New()
ELSE
pclFormPresentation<-gclPresentation.Modify()
END
TableSave(TABLE_Customer, pclFormPresentation)
New in version 20
// Row Exit process
IF TABLE_Customer..Modified = False THEN
RETURN
END
pclFormPresentation is PCustomerForm dynamic
IF TABLE_Customer..NewLine THEN
pclFormPresentation<-gclPresentation.New()
ELSE
pclFormPresentation<-gclPresentation.Modify()
END
TableSave(TABLE_Customer, pclFormPresentation)
// Row Exit process
IF TABLE_Customer..Modified = False THEN
RETURN
END
pclFormPresentation is PCustomerForm dynamic
IF TABLE_Customer..NewLine THEN
pclFormPresentation<-gclPresentation.New()
ELSE
pclFormPresentation<-gclPresentation.Modify()
END
TableSave(TABLE_Customer, pclFormPresentation)
Syntax

Saving in a data file Hide the details

TableSave(<Table Control>)
<Table Control>: Control name
Name of browsing Table control to use. The current row of this Table control will be saved.
If this parameter corresponds to an empty string (""), the Table control to which the current process belongs will be used.
Versions 20 and later
WINDEV

Saving in an object (syntax mainly available for the MVP) Hide the details

TableSave(<Table Control> , <Object Name>)
<Table Control>: Control name
Name of Table control on variable to use.
If this parameter corresponds to an empty string (""), the Table control to which the current process belongs will be used.
<Object Name>: Character string
Name of object to use. The content of the current row found in the Table control will be saved in the members of the associated object.
New in version 20
WINDEV

Saving in an object (syntax mainly available for the MVP) Hide the details

TableSave(<Table Control> , <Object Name>)
<Table Control>: Control name
Name of Table control on variable to use.
If this parameter corresponds to an empty string (""), the Table control to which the current process belongs will be used.
<Object Name>: Character string
Name of object to use. The content of the current row found in the Table control will be saved in the members of the associated object.
WINDEV

Saving in an object (syntax mainly available for the MVP) Hide the details

TableSave(<Table Control> , <Object Name>)
<Table Control>: Control name
Name of Table control on variable to use.
If this parameter corresponds to an empty string (""), the Table control to which the current process belongs will be used.
<Object Name>: Character string
Name of object to use. The content of the current row found in the Table control will be saved in the members of the associated object.
Remarks

Use conditions

TableSave can be used on:
  • a browsing Table control or a browsing TreeView Table control.
  • a single-selection or multi-selection control. For a multi-selection control, only the last selected record is modified (the record corresponding to the last current row).
  • Versions 20 and later
    WINDEV a Table control on variable (syntax 2).
    New in version 20
    WINDEV a Table control on variable (syntax 2).
    WINDEV a Table control on variable (syntax 2).

Updating the data file linked to the Table or TreeView Table control

TableSave saves the current control row in the data file linked to the control. The items are automatically assigned with the values of associated columns in the current row.
When a modification is performed, TableSave replaces the former values by the new ones. The items not found in the control are not modified.
Caution:
  • TableSave only manages the data file associated with the control. If some columns are linked to items found in other data files, these data files are not automatically managed.
  • The "image" columns are not saved by TableSave. To modify the content of the memo associated with the image (rare case), use HLinkMemo.
  • In the Check Box columns, the call to TableSave is implicit and it cannot be disabled. In any case, the modification of the value of check box will be applied to the data file.

Cascading input and update of linked data file

  • If the cascading input is enabled, the data file linked to the Table or TreeView Table control is automatically modified when the user goes to the next row (with TableAdd, TableAddLine, TableInsert, TableInsertLine, TableModify and TableModifyLine). TableSave is useless.
  • If the cascading input is not enabled, the data file linked to the Table or TreeView Table control is not modified. To write the added or modified row into the linked data file, TableSave must be used after the addition or modification function.
Notes:
Java The cascading input is not available for the browsing Table controls with direct access. This option is available for the browsing Table controls loaded in memory.

Re-displaying the row that was saved

After the call to TableSave, the row saved may "disappear". This "disappearance" is due to the value of the search key for the added or modified record.
To avoid this problem, re-display the Table or TreeView Table control with TableDisplay.

Locking and updating the data file

If the data file is locked in the current process, TableSave saves the current row and unlocks the data file.

Duplicates and referential integrity

  • If the management of duplicates is enabled (HSetDuplicates), HErrorDuplicates must be checked after the execution of TableSave to check the key uniqueness.
  • If the management of referential integrity is enabled (HSetIntegrity), HErrorIntegrity must be checked after the execution of TableSave to check the referential integrity.

Using TableSave to reduce the number of code lines

TableSave is used to reduce the number of code lines. This single line allows you to avoid assigning the item variables one by one.
For example, the following code:
Customer.LastName = LastNameColumn
Customer.FirstName = FirstNameColumn
Customer.Address = AddressColumn
Customer.ZC = ZCColumn
Customer.City = CityColumn
HAdd(Customer)
is replaced by the following line:
TableSave(TABLE_Customer)
Components
WINDEVReports and Queries wd230obj.dll
Windows Mobile wp230obj.dll
Java wd230java.jar
Linux wd230obj.so
Minimum required version
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment