2011-06-17 41 views
0

私は私のVisualforceページで、次のしている:Salesforce Visualforceのapex:pageBlockの 'mode'属性を動的に設定するにはどうすればよいですか?

<apex:pageBlock mode="{!pageBlockMode}"> 
</apex:pageBlock> 

そして、この頂点コードでカスタム拡張:

public string pageBlockMode 
{ 
    get { return 'edit'; } 
} 

これが動作しない理由を誰もが知っていますか?単にディテールモードにデフォルト設定されています。 pageBlockの 'mode'属性を動的に変更する方法はありますか?

答えて

1

私の元のコードが今働いているようです。わからないここで変更し、これは固定されたのVisualforce /のバージョン:

ページ:

<apex:pageBlock mode="{!pageBlockMode}"> 
</apex:pageBlock> 

コントローラー:

public string pageBlockMode 
{ 
    get { return 'edit'; } 
} 
1

あなたは、MODEがpageBlockコンポーネントの子要素のデフォルトのユーザーモードを表していることをご存じでしょうか?この値は、フィールド値を区切る線を描画するかどうかを決定します。可能な値は次のとおりです。 "detail"、データが色付きの線でユーザに表示されます。 "maindetail" - レコードのメインの詳細ページと同様に、データが色付きの線と白い背景でユーザーに表示されます。 "編集"。フィールドラインなしでユーザーにデータが表示されます。 指定しない場合、この値の既定値は「detail」です。これらの行は、必要性とは無関係で、視覚的なセパレータであるため、詳細ページを簡単にスキャンできます。

+0

はい。私は "モード"属性が何をしているのか分かっています。私は単にそれを動的に変更できるようにしたいだけで、うまく動作しないように見えます。私の財産に何を設定しているかにかかわらず、デフォルトでは「詳細」になっています。 – fehays

1

上記のコメントをもとに、なぜ、私は、これはあなたを助けるかもしれないと思うrendered属性

<apex:pageBlock mode="edit" rendered="{!pageBlockMode=='edit'}"> 
..... 
</apex:pageBlock> 

<apex:pageBlock mode="detail" rendered="{!pageBlockMode=='detail'}"> 
..... 
</apex:pageBlock> 
+0

ありがとうございますが、私は2つのpageBlocksを回避しようとしています。 – fehays

+0

Chiragは正しい - 2つのpageBlockセクションが必要です。 1つ以上のセクションを持たない限り問題はありません - 冗長コードを管理/凝視する必要はありません。 – Adam

0

を持つ2つの異なるpageblockセクションを作成しようとしません!それは私のために働いた!

関連する問題