|
|
|
|
|
- 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
TableSort (Function) In french: TableTrie Sorts a Table or TreeView Table control on one or more columns (lexicographical sort). Remark: When a control is sorted by TableSort, the images used to identify the sort direction are not displayed in the columns.
// Sort "COL_Designation" and "COL_Price" columns in "TABLE_Product" // "COL_Designation" is sorted in ascending order // "COL_Price" is sorted in descending order TableSort(TABLE_Product, "COL_Designation", "-COL_Price")
// Multicolumn sort of Table control // "COL_Designation" is sorted in descending order // "COL_Price" is sorted in ascending order TableSort("-COL_Designation" + TAB + "+COL_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> , <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:
"[<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.
<Column 2>: Optional character string 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.
<Column N>: Optional character string 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>]<Column1>" + TAB + "[<Direction>]<Column2>" + TAB + ... where:- <Direction> (character) indicates the sort direction:
- "+": ascending sort (by default),
- "-": descending sort.
- <Column> (character string): name of column to sort. 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: "[<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 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 remove a sort previously defined on a Table or TreeView Table control populated programmatically. Remarks Use conditions TableSort can be used on: - a Table or TreeView Table control 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.
- a single-selection or multi-selection control.
Reminder: Multi-selection is not available for Table controls in classic mode.
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). 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 Table or TreeView Table control based on a data file with several columns, use a composite key and the BrowsedItem property: TableName..BrowsedItem = NAMECOMPOSITEKEY 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 - When the control is sorted by TableSort, the additions performed by TableAdd, TableAddLine, TableInsert and TableInsertLine take the sort into account.
- When the control is sorted by a mouse click, the additions performed by TableAdd, TableAddLine, TableInsert and TableInsertLine ignore the sort.
- The sort is not canceled by TableDisplay, TableAdjust, TableSearch, TableCount, TablePosition, TableSelect, TableSelectMinus, TableSelectPlus, TableDelete and TableDeleteAll.
- The sort is canceled if a column is modified (by direct input in the column or by TableModify and TableModifyLine) and if it is sorted.
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("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
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|