けっこう利用することのあるgetPicklistValuesで選択リスト値の取得ですが、まだ自分のブログにまとめていなかったのでちょっとまとめておきました。
選択リスト項目のリスト値を取得したい場合、DescribeFieldResultクラスのgetPicklistValuesを使用することでList
『Schema.PicklistEntry』はラベルと値の情報を保持しています。
サンプルコードです。
最初のこの処理で取引先の評価項目の情報を取得しています。
Schema.DescribeFieldResult ratingFidldResult = Account.Rating.getDescribe();
続いてこの処理で選択リストのラベルと値を取得することができます。
List<Schema.PicklistEntry> ratingPicklistEntry = ratingFidldResult.getPicklistValues(); for (Schema.PicklistEntry pick : ratingPicklistEntry) { this.selectList.add('Label = ' + String.valueOf(pick.getLabel()) + ' : ' + 'Value = ' + String.valueOf(pick.getValue())); }
こんな感じで選択リスト項目のリスト値を取得することが可能です。また、複数選択リストのリスト値も取得することができます。
選択リスト項目
複数選択リスト項目
画面表示
選択リスト値の方でラベルと値が異なるのはトランスレーションワークベンチで翻訳しているためです。翻訳しても値の方は固定となることが確認できます。