+ Start a Discussion
kkurahashikkurahashi 

Renderedを制御する

お世話になります。

 

Visualforce上の特定の部分を演算の結果によって非表示にしようとしています。

 

RenderedにBooleanを渡せば制御できるはずですが、数式項目ではBooleanを返せないので行き詰まってしまいました。文字列でTrue/Falseを返しても数値で1 or 0を返してもダメでした。

 

 例えば「入力された数値が5以上だったら、氏名のみ表示して住所は隠す(表示しない)」というような処理を行う必要がある場合、Visualforce/Apexではどのように記述するのが作法でしょうか。

 

ご教示いただければ幸いに存じます。

ue123ue123

2通り方法があると思います。

 

  1. コントローラ内にBooleanのプロパティを保持し、表示する場合はtrue、非表示の場合はfalseをセットし、rendered属性にバインディ ングする。
  2. IF関数をrendered属性に直接記述する。

 

rendered="{!IF(XXXX__c >= 5, true, false)}"

 

 

kkurahashikkurahashi

ありがとうございます、2の方法で成功しました。

ここでIF文書けることは存じませんでした。

 

MVCモデル的には何ですが、ここは実装優先で先に進みます。

 

今後ともどうぞよろしくお願い致します。