【GeneXus】For eachのOrder

For eachのOrderについてまとめました。

ルール

記載順

Orderの記載順はソートの優先順位を示します。(SQLのOrder byと同じ)
ソートの実行順序ではありません。
ソートの最優先項目を一番初めに記載します。

昇順/降順

昇順はそのまま項目名を記載、降順は項目名をカッコで括ります。

For each
Order ITEM_NO1, (ITEM_NO2)

実装例

数値型項目のOrder

数値型項目を昇順でOrderに指定した場合
値の小さい順にソートされる。

文字列型項目のOrder

文字列型項目を昇順でOrderに指定した場合
日本語はあいうえお順にソートされる。
全角数字と半角数字は半角数字の方が先に評価される。

数字の場合は1文字目の値が小さい順にソートされる。

数字、英字、日本語の順に評価される。

日付型項目のOrder

文字列型項目を昇順でOrderに指定した場合
最古の日付から新しい日付の順でソートされる。
NULLは一番新しい日付として評価される。

複数項目のOrder

文字列型項目を昇順でOrderに指定した場合
記載順の優先順位となる。
例:
For each
Order ID, START_DATE, END_DATE

プロパティのOrder

GridプロパティのOrderを指定した場合、
指定した項目が主キー以外であれば、①指定項目、②主キー1、③主キー2
のように主キーソートが自動付加される。

指定した項目が主キーの場合は指定通りに主キーがソート項目となり、
複合キーのトランザクションの場合は、指定した主キー項目の後に指定しなかった主キー項目がソート条件として付加される。