function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
KeronKeron 

カスタム設定値をVisualforceで直接参照するには…

カスタム設定値をVisualforceページで参照する方法

以下のデータをカスタム設定で登録した場合、

表示ラベル:車 API参照名:car__c

カスタム項目1:国名 API参照名:country__c
カスタム項目1:定員 API参照名:num__c

オブジェクト名1:ベンツ   国名:ドイツ   定員:5名
オブジェクト名2:シボレー  国名:アメリカ 定員:2名

ベンツの定員の値を取得したい場合、どのように記述したら良いでしょうか?
{!$Setup.car__c.(ベンツのnum__c)}
                              ↑ここの部分の書き方がわからないです。

それともcontrollerの方でListに詰めてVisualforceページで
表示する方法しか手はないのでしょうか?

ご教授頂けたらと思います。宜しくお願い致します。

Best Answer chosen by Admin (Salesforce Developers) 
erueru

リスト型カスタム設定は基本的にカスタムオブジェクトと同じなのでApexクラスから呼びます。

ただキャッシュを使って呼び出すように、SOQLではなくて以下のようにgetallメソッドを使いましょう。

 

List<CustomSettingName__c> lst = CustomSettingName__c.getall().values();

 

All Answers

n-hayashin-hayashi

Visualforceページは数式と同じなので、

階層カスタム設定しか直接参照できなかった思います。

 

リストカスタム設定を参照する場合は、

今のところApexクラス(controller)で値を取得して使用する以外の方法はないと思います。

erueru

リスト型カスタム設定は基本的にカスタムオブジェクトと同じなのでApexクラスから呼びます。

ただキャッシュを使って呼び出すように、SOQLではなくて以下のようにgetallメソッドを使いましょう。

 

List<CustomSettingName__c> lst = CustomSettingName__c.getall().values();

 

This was selected as the best answer
KeronKeron

n-hayashiさま

ご回答ありがとうございます。

やっぱり直接は呼べないのですね…。

ApexでListに詰めてからVFへ渡すように致します。

ありがとうございました。

KeronKeron

eruさま

ご回答ありがとうございます。

ご教授頂いた通り、ApexでListに詰めてからVFへ渡すようにして

解決しました。ありがとうございました。