ブックデザイン インターフェース - OnSort メソッド

親リストで Sort メソッドが起動されると実行されます。

ブックデザイン インターフェース (PRIM_BOOK.IBookDesign) のメンバ

パラメーター

名前タイプデータ タイプ記述
Result*Result列挙2 つの値を比較した結果 - Less (小さい)、 Equal (等しい) または Greater (大きい)
BookItem*InputPRIM_BOOK.BookItemアイテムへの参照
CompareTo*InputPRIM_BOOK.BookItem比較対象のリスト アイテムへの参照
Key*Inputバリアント必要となるソートの種類

詳細

OnItemSort メソッドは、項目が含まれているブックで実行中のソートで項目が参照されるたびに実行されます。
 
ツリーやタイル内でのソートは、全てがユーザーにより定義されるので、'キー' (ソートされる '値') および '順序' をソート・ルーチンに提供する必要があります。ソートは完全にユーザー定義されているもののため、ソートルーチンに Key (ソートされる  'value' ) と Order を指定する必要があります。そして、この情報は OnSort メソッドで使用されます。

デザインの再利用可能パーツのメソッドを再定義する。
 
この例では、 EMPNO 、 SURNAME および GIVENAME の3つの異なるソートをサポートしています。 これらの 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