ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / List Box functions
  • Effect of ListSort
  • Comparing numeric values
  • Characters taken into account for punctuation and spaces
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Sorts the elements in a List Box, ListView or Combo Box control populated programmatically. This function has no effect on the browsing List Box, ListView and Combo Box controls.
Remark: This function is useless if the control was declared as "Sorted" in the control description window ("Details" tab).
Example
// Sorts the List Box control in lexicographical order
ListSort(LIST_Customer, True, ccLexicographicOrder)
Syntax
ListSort(<List Box control> [, <Sort order> [, <Sort options>]])
<List Box control>: Control name
Name of List Box or Combo Box control to sort.
<Sort order>: Optional boolean
  • True (by default) to perform a sort in ascending order,
  • False to perform a sort in descending order.
<Sort options>: Optional constant (or combination of constants)
Sort options selected for the content of List Box (or Combo Box) control:
ccIgnoreAccentSorts text while ignoring accents
ccIgnoreCaseSort while ignoring the case (uppercase/lowercase characters).
ccIgnorePunctuationAndSpaceSorts text while ignoring punctuation and spaces (for more details, see the Remarks)
ccIgnoreSpaceSort while ignoring the space characters found before and after the character strings.
ccLexicographicOrderSorts the strings in lexicographical order (for example, 'é' is between 'e' and 'f).
ccNormalSort while performing a standard comparison, similar to the = operator =.
ccRespectNumericSort while taking into account the numeric values inside the strings (in this case, "10" comes after "9").
sortDefault
(default value)
Performs a case-insensitive and accent-insensitive sort. Ignores spaces.
sortWithoutFunctionGxxxSorts text while ignoring gImage, gStoredValue, etc., ... By default, these elements are taken into account by the sort.
Remarks

Effect of ListSort

ListSort will have an effect at a specific moment: after calling ListSort, elements will be added to the List Box or Combo Box control according to the sort options defined in the control description window.

Comparing numeric values

The ccRespectNumeric constant sorts by taking into account the numeric value represented by digits and not just the alphabetical order of the numbers.
Without the ccRespectNumeric constant, the strings below will be sorted in the following order: "string1", "string10", "string2"
With the ccRespectNumeric constant, the same strings will be sorted in this order: "string1", "string2", "string10"
Lets' see some examples of comparison performed with and without the ccRespectNumeric constant:
Sorting strings containing digits without the ccRespectNumeric constantSorting strings containing digits with the ccRespectNumeric constant
000
000
001001
00901
011
010009
0909
19
10010
1110
911
Sorting strings containing digits without the ccRespectNumeric constantSorting strings containing digits with the ccRespectNumeric constant
10.00Aa7.00Aa
10.01Gh7.01Ba
10.50Ag7.01Dfe
11.00Aa7.50Fg
7.00Aa7.51Tga
7.01Ba8.00Aa
7.01Dfe8.01Gjk
7.50Fg8.01Ty
7.51Tga8.50Ze
8.00Aa9.00Aa
8.01Gjk9.80Er
8.01Ty9.99Zaaa
8.50Ze10.00Aa
9.00Aa10.01Gh
9.80Er10.50Ag
9.99Zaaa11.00Aa

Characters taken into account for punctuation and spaces

The characters taken into account for punctuation and spaces are provided by the system. To get the list of these characters, write the following WLanguage code:
s is string
FOR i = 0 TO 255
IF Charact(i) <> StringFormat(Charact(i), ccIgnorePunctuationAndSpace) THEN
 s += Charact(i)
END
END
Info(s)
ToClipboard(s)
Component: wd290obj.dll
Minimum version required
  • Version 12
This page is also available for…
Comments
Exemplo ListSort
ListSort(LIST_List)

ListSort(LSV_Listview)

// Blog com Video e Exemplo

http://windevdesenvolvimento.blogspot.com.br/2016/11/aula-964-curso-windev-listbox-009.html

https://www.youtube.com/watch?v=J-QsqU3GEJA
De matos
04 Dec. 2016
Exemplo Combox Ordem
ListDeleteAll(COMBO_cliente)
FOR EACH cliente
ListAdd(COMBO_cliente,cliente.nome)
END
//Coloca em Ordem
ListSort(COMBO_cliente,True,ccLexicographicOrder)

//Frances
ListeSupprimeTout(COMBO_cliente)
POUR TOUT cliente
ListeAjoute(COMBO_cliente,cliente.nome)
FIN
//Coloca em Ordem
ListeTrie(COMBO_cliente,Vrai,ccOrdreLexicographique)

//Blog com Video e Exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/03/curso-windev-combox-004-combox-ordemsort.html
De matos AMARILDO
24 Mar. 2016

Last update: 06/07/2022

Send a report | Local help