親リストで Sort メソッドが起動されると実行されます。
ツリー デザイン インターフェース (PRIM_TREE.ITreeDesign) のメンバ
名前 | タイプ | データ タイプ | 記述 |
---|---|---|---|
Result | *Result | 列挙 | 2 つの値を比較した結果 - Less (小さい)、 Equal (等しい) または Greater (大きい) |
TreeItem | *Input | PRIM_TREE.TreeItem | 現在のデザイン インスタンス用のリスト アイテムへの参照 |
CompareTo | *Input | PRIM_TREE.TreeItem | 比較対象のリスト アイテムへの参照 |
Key | *Input | バリアント | 必要となるソートの種類 |
OnItemSort メソッドは、項目が含まれているツリーで実行中のソートでアイテムが参照されるたびに実行されます。 ソートは完全にユーザー定義されているため、ソート・ルーチンに Key (ソートされている 'value' ) と Order を指定する必要があります。 そして、この情報は OnSort メソッドで使用されます。
デザインの再利用可能部分のメソッドを再定義する。 この例では、 3 つの異なるソートをサポートしています。それは、 EMPNO 、 SURNAME および GIVENAME になります。これらの Key 値は完全に任意ですが、簡単にするために、特定のフィールド名と一致します。ここでの並べ替えは昇順のみです。 それぞれの場合、局所変数値は、この場合はデザインインスタンスのプロパティとして公開された同等の変数値と比較され、各値が他の値よりも小さいか等しいか、または大きいかどうかが判定されます。 ソートメソッドが各項目を評価するときに、各項目に対して OnSort メソッドが何度も呼び出されることがあります。
Mthroutine Name(OnSort) Options(*Redefine) Case (#Key) When (= EMPNO) #Result := #Empno.Compare( (#CompareTo.Design *As #EmployeePart).Empno ) When (= GIVENAME) #Result := #Givename.Compare( (#CompareTo.Design *As #EmployeePart).Givename ) When (= SURNAME) #Result := #Surname.Compare( (#CompareTo.Design *As #EmployeePart).Surname ) Endcase Endroutine
2018 - V14SP1