4D v18collection.orderBy( ) |
||||||||||||||
|
4D v18
collection.orderBy( )
|
定数 | 型 | 値 | コメント |
ck ascending | 倍長整数 | 0 | 要素は昇順に並んでいる(デフォルト) |
ck descending | 倍長整数 | 1 | 要素は降順に並んでいる |
コレクションが異なる型の要素を格納している場合、それらはまず型ごとにグループ分けされ、そのあとで並べ替えがされます。型は以下の順番で返されます:
数値のコレクションを昇順と降順で並べ替える場合を考えます:
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)
オブジェクトのコレクションをプロパティ名のテキストフォーミュラに基づいて並べ替える場合を考えます:
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")
オブジェクトのコレクションをプロパティパスで並べ替える場合を考えます:
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")
オブジェクトのコレクションを、条件オブジェクトのコレクションを使用して並べ替える場合を考えます:
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)
プロパティパスで並べ替える場合を考えます:
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)
プロダクト: 4D
テーマ: コレクション
ランゲージリファレンス ( 4D v18)