4D v19collection.orderBy( ) |
||||||||||||||
|
4D v19
collection.orderBy( )
|
Constante | Tipo | Valor | Comentário |
ck ascending | Inteiro longo | 0 | Os elementos são ordenados de forma ascendente (pré-determinado) |
ck descending | Inteiro longo | 1 | Os elementos são ordenados em ordem descendente |
Se a coleção contiver elementos de diferentes tipos, primeiro são agrupados por tipo e são ordenados depois. Os tipos são devolvidos na ordem abaixo:
Ordenar uma coleção de números em ordem ascendente e descendente:
C_COLLECTION($c;$c2;$3)
$c:=New collection
For($vCounter;1;10)
$c.push(Random)
End for
$c2:=$c.orderBy(ck ascending)
$c3:=$c.orderBy(ck descending)
Ordenar uma coleção de objetos baseada em uma fórmula de texto com nomes de propriedade:
C_COLLECTION($c)
$c:=New collection
For($vCounter;1;10)
$c.push(New object("id";$vCounter;"value";Random))
End for
$c2:=$c.orderBy("value desc")
$c2:=$c.orderBy("value desc, id")
$c2:=$c.orderBy("value desc, id asc")
Ordenar uma coleção de objetos com uma rota de propriedade:
C_COLLECTION($c)
$c:=New collection
$c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02")))
$c.push(New object("name";"Blountsville";"phones";New object("p1";"00";"p2";"03")))
$c2:=$c.orderBy("phones.p1 asc")
Se quiser ordenar uma coleção de objetos utilizando uma coleção de objetos critério:
C_COLLECTION($crit;$c)
$crit:=New collection
$c:=New collection
For($vCounter;1;10)
$c.push(New object("id";$vCounter;"value";Random))
End for
$crit.push(New object("propertyPath";"value";"descending";True))
$crit.push(New object("propertyPath";"id";"descending";False))
$c2:=$c.orderBy($crit)
Ordenar com uma rota de propriedade:
C_COLLECTION($crit;$c)
$c:=New collection
$c.push(New object("name";"Cleveland";"phones";New object("p1";"01";"p2";"02")))
$c.push(New object("name";"Blountsville";"phones";New object("p1";"00";"p2";"03")))
$crit:=New collection(New object("propertyPath";"phones.p2";"descending";True))
$c2:=$c.orderBy($crit)
Produto: 4D
Tema: Coleções
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)