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
  • Use conditions
  • Sorting a Table or TreeView Table control based on a data file
  • Managing a sorted Table or TreeView Table control
  • Sort on a calculated column
  • Programmatically loop through Table or TreeView Table controls
  • Performing a sort according to the ASCII value
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Sorts a Table or TreeView Table control on one or more columns (lexicographical sort).
Note: When a field is sorted using the TableSortfunction, the images used to identify the sorting direction are not displayed in the columns..
Example
// Tri des colonnes "COL_Désignation" et "COL_Prix" du champ "TABLE_Produit"
// La colonne "COL_Désignation" est triée dans l'ordre croissant
// La colonne "COL_Prix" est triée dans l'ordre décroissant
TableSort(TABLE_Produit, "COL_Désignation", "-COL_Prix")
// Tri multicolonne du champ Table
// La colonne "COL_Désignation" est triée dans l'ordre décroissant
// La colonne "COL_Prix" est triée dans l'ordre croissant 
TableSort("-COL_Désignation" + TAB + "+COL_Prix")
Syntax

Sorting a Table or TreeView Table control on one or more columns identified by their name Hide the details

<Result> = TableSort(<Table control> , <Column 1> [, <Column 2> [... [, <Column N>]]])
<Result>: Boolean
  • True if the sort was performed,
  • 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.
If this parameter corresponds to an empty string (""), the control to which the current event belongs will be used.
<Column 1>: Character string
Name of first column to sort (up to 16 columns). This parameter has the following format:
"[<Sens>]<Nom de la colonne>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sorting (default),
    • "-": sorting in descending order.
  • <Nom de la colonne> (string): name of column to sort.
<Column 2>: Optional character string
Name of the second column to sort (up to 16 columns). This parameter has the following format:
"[<Sens>]<Nom de la colonne>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sorting (default),
    • "-": sorting in descending order.
  • <Nom de la colonne> (string): name of column to sort.
<Column N>: Optional character string
Name of Nth column to sort (up to 16 columns). This parameter has the following format:
"[<Sens>]<Nom de la colonne>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sorting (default),
    • "-": sorting in descending order.
  • <Nom de la colonne> (string): name of column to sort.

Sorting a Table or TreeView Table control according to a list of column names Hide the details

<Result> = TableSort(<List of columns>)
<Result>: Boolean
  • True if the sort was performed,
  • False otherwise.
<List of columns>: Character string
List of columns to sort (up to 16 columns). This parameter has the following format:
"[<Sens>]<Colonne1>" + TAB + "[<Sens>]<Colonne2>" + TAB + ...

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sorting (default),
    • "-": sorting in descending order.
  • <Colonne> (string): name of the column to be sorted. The name of a column is returned by TableEnumColumn. If two controls have identical column names, the name of the column must be used as prefix in the name of the control (e.g.: "+TABLE_Table1.COL_SortColumn"+TAB+"TABLE_Table1.COL_PriceColumn").

Sorting a Table or TreeView Table control on the first ten visible columns of the control Hide the details

<Result> = TableSort(<Table control> [, <To sort>])
<Result>: Boolean
  • True if the sort on the first 10 control columns was performed,
  • 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.
This parameter has the following format:
"[<Sens>]<Nom du champ Table>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sorting (default),
    • "-": sorting in descending order.
  • <Nom du champ Table> (string): name of the Table or hierarchical Table field whose first 10 columns are to be sorted.
<To sort>: Optional boolean
  • True if the sort on the first 10 control columns must be performed,
  • False if the previous sort must be canceled. Once the sort is canceled, the order of the rows is not modified but the rows that will be added by TableAdd, TableAddLine, TableInsert or TableInsertLine will not be sorted.

Canceling a sort that was previously defined on a Table or TreeView Table control populated programmatically Hide the details

<Result> = TableSort(<Table control> , <False>)
<Result>: Boolean
  • True if the sort was canceled,
  • False if a problem occurred.
<Table control>: Control name
Name of the control to be used. This control can correspond to:
  • a Table control populated programmatically.
  • a TreeView Table control populated programmatically.
<False>: Constant
False: Keyword used to cancel a previously defined sort on a table or hierarchical table field by programming..
Remarks

Use conditions

TableSort can be used on:
  • Table or TreeView Table controls populated programmatically.
  • a Table or TreeView Table control based on a data file with automatic iteration ("Browse automatically" option in the "Content" tab of the control description). In this case, only one column is sorted.
  • single-selection or multi-selection controls.
    WEBDEV - Server codePHP Reminder: Multi-selection is not available for Table fields in Classic 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.

Sorting a Table or TreeView Table control based on a data file

A Table or TreeView Table control based on a data file will be sorted according to the first specified column (syntax 1 and 2). Warning: the column used for sorting must be linked to a key item in the data file used to browse the field.
Tip: To sort a Table or hierarchical Table file with multiple columns, use a compound key and the BrowsedItem property:
NomTable..RubriqueParcourue = NOMCLECOMPOSEE
To cancel a sort in a Table or TreeView Table control based on a data file, simply assign an empty string to the BrowsedItem property.

Managing a sorted Table or TreeView Table control

Reminder: The TableSortedColumn function is used to obtain the list of sorted columns.

Sort on a calculated column

It is not recommended to use TableSort on calculated columns. These columns are calculated when each row is displayed.
A sort defined with TableSort on a calculated column will be valid only for the rows already displayed.

Programmatically loop through Table or TreeView Table controls

TableSort has no effect on controls looped through programmatically.

Performing a sort according to the ASCII value

A memory area allows you to perform a sort according to the ASCII value
Example:
MemCreate("ZM")
MemAdd("ZM", "abc", "abc")
MemAdd("ZM", "ZZZ", "ZZZ")
MemAdd("ZM", "zbc", "zbc")
MemAdd("ZM", "ééébc", "ééébc")
MemAdd("ZM", "AB", "AB")
MemAdd("ZM", "CD", "CD")
MemAdd("ZM", "çabc", "çabc")
MemAdd("ZM", "bbc", "bbc")
MemSort("ZM")
i is int
MemFirst("ZM")
WHILE NOT MemOut("ZM")
	i = MemCurrent("ZM")
	Trace(MemRetrieve("ZM", i)) // Affichage dans l'ordre ASCII
	MemNext("ZM")
END
Component: wd300obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
exemplo tablesort
https://windevdesenvolvimento.blogspot.com/2021/05/dicas-3321-windev-webdev-mobile.html

https://youtu.be/zjnXniNTWwU

SWITCH COMBO_ordem
CASE 1
IF CBOX_ordem_inversa=True THEN
TableSort(TABLE_cliente_consulta,"-TABLE_cliente_consulta.COL_Cliente_wdID")
ELSE
TableSort(TABLE_cliente_consulta,"TABLE_cliente_consulta.COL_Cliente_wdID")
END

CASE 2
IF CBOX_ordem_inversa=True THEN
TableSort(TABLE_cliente_consulta,"-TABLE_cliente_consulta.COL_nome")
ELSE
TableSort(TABLE_cliente_consulta,"TABLE_cliente_consulta.COL_nome")
END

CASE 3
IF CBOX_ordem_inversa=True THEN
TableSort(TABLE_cliente_consulta,"-TABLE_cliente_consulta.COL_email")
ELSE
TableSort(TABLE_cliente_consulta,"TABLE_cliente_consulta.COL_email")
END
OTHER CASE

END
amarildo
05 May 2021

Last update: 09/21/2024

Send a report | Local help