PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK

  • 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 WINDEV applications in Linux.
New in version 16
Linux This function is now available for WINDEV applications in Linux.
Linux This function is now available for WINDEV applications in Linux.
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 control> , <Name of column 1> [, <Name of column 2> [... [, <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 event 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 2>: Optional character string with quotes
Name of the second 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 multiselection control.

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
Component : wd240obj.dll
Minimum version required
  • 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
28 Feb. 2016