Apex SelectOption のデフォルトの並び替えるサンプル

環境
Salesforce Apex

概要
List.sort メソッドは、この比較順序に基づいて、値項目と表示ラベル項目を使用して昇順で SelectOption 要
素を並び替えます。
1. 並び替えには最初に値項目が使用されます。
2. 2 つの値項目が同じ値の場合、または両方とも空の場合、表示ラベル項目が使用されます。
無効になっている項目は並び替えには使用されません。

使用例
リストに 3 つの SelectOption 要素が含まれています。United States と Mexico の 2 つの要素には同じ値
項目 ('A’) があります。List.sort メソッドは表示ラベル項目に基づいて 2 つの要素を並び替え、
出力に示されるように Mexico を United States より前に配置します。
並び替えられたリストの最後の要素は Canada で、その値項目 'C’ は 'A’ より後になるためこのように並び替えられています。

サンプルコード

List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('A','United States'));
options.add(new SelectOption('C','Canada'));
options.add(new SelectOption('A','Mexico'));
System.debug('Before sorting: ' + options);
options.sort();
System.debug('After sorting: ' + options);

結果

DEBUG|Before sorting: (System.SelectOption[value="A", label="United States",
disabled="false"],
System.SelectOption[value="C", label="Canada", disabled="false"],
System.SelectOption[value="A", label="Mexico", disabled="false"])
DEBUG|After sorting: (System.SelectOption[value="A", label="Mexico", disabled="false"],
System.SelectOption[value="A", label="United States", disabled="false"],
System.SelectOption[value="C", label="Canada", disabled="false"])

 

IT

Posted by arkgame