PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US

  • Use conditions
  • Sorting a browsing Table or TreeView Table control
  • Managing a sorted Table or TreeView Table control
  • Sort on a calculated column
  • Table or Treeview Table control browsed by programming
  • Performing a sort according to the ASCII value
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
Sorts a Table or TreeView Table control on one or more columns (lexicographical sort).
Note: When a control is sorted by TableSort, the images used to identify the sort direction are not displayed in the columns.
Versions 16 and later
Linux This function is now available for the WINDEV applications in Linux.
New in version 16
Linux This function is now available for the WINDEV applications in Linux.
Linux This function is now available for the WINDEV applications in Linux.
Versions 19 and later
WEBDEV - Browser code This function is now available in Browser code for the Browser Table controls.
New in version 19
WEBDEV - Browser code This function is now available in Browser code for the Browser Table controls.
WEBDEV - Browser code This function is now available in Browser code for the Browser Table controls.
Versions 20 and later
Android This function is now available for the Android applications.
iPhone/iPad This function is now available for the iPhone/iPad applications.
New in version 20
Android This function is now available for the Android applications.
iPhone/iPad This function is now available for the iPhone/iPad applications.
Android This function is now available for the Android applications.
iPhone/iPad This function is now available for the iPhone/iPad applications.
Example
// Sort the "Designation" and "Price" columns in the "TABLE_Product" control
// The "Designation" column is sorted in ascending order
// The "Price" column is sorted in descending order
TableSort(TABLE_Product, "Designation", "-Price")
// Multicolumn sort of Table control
// The "Designation" column is sorted in descending order
// The "Price" column is sorted in ascending order
TableSort("-Designation" + TAB + "+Price")
Syntax

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

<Result> = TableSort(<Table Name> , <Name of Column 1> [, ... [, <Name of Column N>])
<Result>: Boolean
  • True if the sort was performed,
  • False otherwise.
<Table Control>: Control name
Name of control to use. 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 process belongs will be used.
<Name of Column 1>: Character string with quotes
Name of first column to sort (up to 16 columns). This parameter has the following format:
"[<Direction>]<Column Name>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sort (by default),
    • "-": descending sort.
  • <Column Name> (character string): name of column to sort.
<Name of Column N>: Optional character string with quotes
Name of Nth column to sort (up to 16 columns). This parameter has the following format:
"[<Direction>]<Column Name>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sort (by default),
    • "-": descending sort.
  • <Column Name> (character 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:
"[<Direction>]<Name of Column1>" + TAB + "[<Direction>]<Name of Column2>" + TAB + ...

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sort (by default),
    • "-": descending sort.
  • <Column Name> (character string): name of column to sort. The column name is returned by TableEnumColumn. If two controls have identical column names, the name of the column must be prefixed by the name of the control ("+Table1.SortColumn"+TAB+"Table1.PriceColumn" for example).

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 control to use. This control can correspond to:
  • a Table control.
  • a TreeView Table control.
This parameter has the following format:
"[<Direction>]<Name of Table Control>"

where:
  • <Direction> (character) indicates the sort direction:
    • "+": ascending sort (by default),
    • "-": descending sort.
  • <Name of Table control> (character string): name of Table or TreeView Table control whose first 10 columns will 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 control 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 memory Table or TreeView Table control 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 control to use. This control can correspond to:
  • a memory Table control.
  • a memory TreeView Table control.
<False>: Constant
False: Keyword used to cancel a sort that was previously defined on a memory Table or TreeView Table control.
Remarks

Use conditions

TableSort can be used on:
  • a memory or browsing control with automatic browse ("Automatic browse" option checked in the "Content" tab of control description). For a browsing control, the sort is performed on a single column.
  • a single-selection or multi-selection control.
    WEBDEV - Server codePHP Reminder: The multi-selection controls are available in Ajax only. WEBDEV - Server codePHP Reminder: The multi-selection is not available for the Classic Table controls.
WEBDEV - Server codePHP This function is available for the Ajax Table controls, the Classic Table controls and the TreeView Table controls.
WEBDEV - Browser code This function is available for the browser Table controls only.
WEBDEV - Browser codeAndroidiPhone/iPad The TreeView Table control is not available.

Sorting a browsing Table or TreeView Table control

A browsing Table or TreeView Table control will be sorted according to the first specified column (syntax 1 and 2). Caution: the column used for the sort must be linked to a key item in the data file used to browse the control.
Tip: To sort a browsing Table or TreeView Table control with several columns, use a composite key and ..BrowsedItem:
TableName..BrowsedItem = NAMECOMPOSITEKEY
To cancel a sort in a browsing Table or TreeView Table control, all you have to do is assign an empty string to ..BrowsedItem.

Managing a sorted Table or TreeView Table control

Reminder: TableSortedColumn returns the list of sorted columns.

Sort on a calculated column

TableSort should not be used on the calculated columns. Indeed, these columns are calculated when each row is displayed.
A sort performed by TableSort on a calculated column will be valid for the rows already displayed in the table.

Table or Treeview Table control browsed by programming

TableSort does not operate on a control browsed by programming.

Performing a sort according to the ASCII value

A memory zone allows you to perform a sort according to the ASCII value.
Example:
MemCreate("MZ")
MemAdd("ZM", "abc", "abc")
MemAdd("ZM", "ZZZ", "ZZZ")
MemAdd("ZM", "zbc", "zbc")
MemAdd("MZ", "ééébc", "ééébc")
MemAdd("ZM", "AB", "AB")
MemAdd("ZM", "CD", "CD")
MemAdd("MZ", "çabc", "çabc")
MemAdd("ZM", "bbc", "bbc")
MemSort("MZ")
i is int
MemFirst("MZ")
WHILE not MemOut("MZ")
i = MemCurrent("ZM")
Trace(MemRetrieve("MZ", i)) // Display in ASCII order
MemNext("MZ")
END
Components
WINDEVReports and Queries wd230obj.dll
WEBDEV - Server code wd230page.dll
Windows Mobile wp230obj.dll
WEBDEV - Browser code WDJS.DLL
Java wd230java.jar
Linux wd230obj.so
Android wd230android.jar
Minimum required version
  • Version 9
This page is also available for…
Comments
Exemplo TableSort
SWITCH COMBO_ordem
CASE 1
TableSort(TABLE_Cliente,"TABLE_Cliente.COL_ClienteID")
CASE 2
TableSort(TABLE_Cliente,"TABLE_Cliente.COL_Nome")
CASE 3
TableSort(TABLE_Cliente,"-TABLE_Cliente.COL_ClienteID")
CASE 4
TableSort(TABLE_Cliente,"-TABLE_Cliente.COL_Nome")
OTHER CASE
END
//Blog com Video e Exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/02/curso-windev-tabela-010-tablesort.html
De matos AMARILDO
Feb. 28 2016