リストの表示に使用するソート順の制御

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:3分
  • すべてのリストには、リスト内のフィールドタイプに基づくデフォルトのソート順があります。

    ユーザーが初めてリストを表示するときは、次のいずれかの項目でソートされます。

    • URL で見つかった ORDERBY 引数(ソート順の制御については、次のセクションを参照してください)。
    • ユーザー設定 <table>.db.order および <table>.db.order.direction
    • 辞書属性 isOrder
    • [順番] (テーブルにフィールドが存在する場合)
    • [番号] (テーブルにフィールドが存在する場合)
    • [名前] (テーブルにフィールドが存在する場合)
    • テーブルの表示フィールドとして指定されたフィールド。
    注:
    タスクテーブルは、前のシーケンスの例外です。タスクから拡張されたタスクとテーブルは、URL 引数もユーザー設定も見つからない場合に [番号] フィールドを使用します。

    ユーザー設定によるデフォルトの順序の設定

    ユーザー設定の <table>.db.order および <table>.db.order.direction は、ユーザーに対して表示されるフィールドとソートの方向を決定します。デフォルトのソートを作成するには、[ユーザー] フィールドに値のないユーザー設定レコードを作成し、[システム] チェックボックスをオンにします。この設定は、独自の初期設定を持たないユーザーに適用されます。

    システム辞書でのデフォルトソート順設定

    アドミニストレーターは、他にソートが指定されていない場合に、システム辞書内のテーブルに表示されるレコードのソート順を設定できます。これを行うには、値が trueisOrder という属性を、目的のフィールドの辞書エントリに追加します。このソートは、最初にすべてのユーザーに表示されるソート順です。ユーザーがリストをソートすると、そのユーザー設定が保存され、そのユーザーに対してリストは常に直近のソート設定に基づいてソートされます。

    注:
    isOrder では、リストのソートに使用するフィールドを定義できますが、ソートの方向を制御することはできません。

    セッション言語によるリストの列のソート

    デフォルトでは、リスト内の列をソートするとき、フィールド値は英語のアルファベット順に並べられます。ユーザーのセッション言語に従って列をソートできるようにするために、インスタンスの動作と個々の列の動作を構成できます。「セッション言語によるソート」を参照してください。

    ソート順コントロール

    どのリストでも、ユーザーが列ヘッダーをクリックしてその列でソートすると、そのアクションが記憶されます。次にそのリストが表示されるときには、同じフィールドを使用してリストが並べ替えられます。

    この記憶されたソートフィールドは、sysparm_order の指定をモジュールの定義に追加することで上書きできます。たとえば、[ニュース] が表示されるたびに新しいアイテムを重要度順に表示する場合は、それに応じて [ニュース] モジュールを更新できます。

    図 : 1. モジュールのソート順を [重要度] フィールド値に設定
    [重要度] フィールドに基づいてソート順を設定するモジュール引数

    実際の順序 (昇順または降順) は、sysparm_order_direction の指定を追加することで指定できます。[sys_created_on] フィールドでリストをソートする 2 種類の例を次に示します。1 つは昇順、もう 1 つは降順です。

    &sysparm_order=sys_created_on &sysparm_order_direction=desc
    &sysparm_order=sys_created_on &sysparm_order_direction=asc

    複数フィールドを基準にしたソート

    複数のフィールドを基準にしてリストをソートするには、フィルターフィールドからすべて削除し、引数フィールドに入力します。たとえば、フィルターで [アクティブ] [次の値に等しい] [true] が指定されており、カテゴリとサブカテゴリでソートしたい場合は、条件を削除して、モジュール引数に次の内容を入力します。

    active=true^ORDERBYcategory^ORDERBYsubcategory

    この引数は、最初にカテゴリで並べ替え、次にサブカテゴリで並べ替えます。フィールドを降順でソートする場合は、ORDERBYORDERBYDESC に変更します。