ソート順について

コレクションをソートする場合は、以下のコンセプトを理解する必要があります。

  • 数値フィールドのように見えるフィールド([勘定科目]など)は、実際は文字ベースのフィールドで、テキスト文字のソート順を使用します。
  • 文字ベースのフィールドでは、テキスト文字によるソートが使用されます。たとえば勘定科目番号を使用して昇順にソートしようとすると、勘定科目は次のようにソートされます。

    (空白フィールド)

    #222

    222

    2220

    @201

    XL-64

    xl-64

    テキスト文字(降)順で、以下のルールが存在します。

    • 文字列は、一般に左から右にソートされます。つまり、最初の文字(最も左)が評価され、次に 2 番目、3 番目と評価されていきます。
    • 空白のフィールドは、他のどの文字よりも前に並べられます。したがって、全ての空白フィールドが常に最初に表示されます。
    • 特殊文字は、数値の前の場合も、数値と文字の間の場合も、文字の後の場合もあります。従って [#222] は 222 の[]ですが、[@201] は 222 の[]になります。
    • 数値は、大きさとは無関係に、正確な数値の順に表示されます。
    • 数値は、アルファベット文字よりも前に表示されます。
    • 大文字は小文字よりも前に表示されます。従って [XL-64] は [xl-64] の前に並べられます。
  • 通常、Unicode 文字列は「単語ソート」テクニックを使用して比較されます。このテクニックでは、英数字以外の全ての文字と句読点が英数字の前に並べられます。ただし、ハイフンとアポストロフィは例外です。[coop] や [co-op] などの単語がソート後のリストで続けて表示されるように、ハイフンとアポストロフィは、英数字以外のその他の記号とは違う扱いとなっています。
関連トピック