私はここで私のレンダリングされた議論に固執しています - 私はかなり私はレコード自体から値を引き出していると私はVisualforceのページからではないです。レコードから「いいえ」に値(are_you_kp__c)を変更すると、pageblocksectionがレンダリングされますが、なんらかの理由でレンダリングされません。なぜ誰が知っていますか?Salesforce(Visualforce):再入可能 - レコードではなくページから値を引き出しますか?
私はここにいくつかのコントローラの作業が必要だと思う - 更新
<apex:pageBlock title="New Bid" mode="maindetail" tabStyle="Proposal__c">
<apex:messages/>
<apex:actionRegion>
<apex:pageBlockSection columns="2" title="Bid Information" collapsible="false" showHeader="true">
<apex:inputField value="{!rfp.Bid_Amount__c}"/>
<apex:outputField value="{!rfp.Bid_Date__c}"/>
<apex:inputField value="{!rfp.Bid_Deliver_By__c}"/>
<apex:inputField value="{!rfp.Bid_Comments__c}"/>
<apex:pageBlockSectionItem>
<apex:outputLabel value="Are you the Key Appraiser?"/>
<apex:outputPanel>
<apex:inputField value="{!rfp.are_you_kp__c}" required="true">
<apex:actionSupport status="StatusChange" event="onchange" rerender="PageErrors, appraiserInfo"/>
<apex:actionStatus startText="Updating page ..." id="StatusChange"/>
</apex:inputField>
</apex:outputPanel>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:actionRegion>
<apex:pageBlockSection title="Testing" columns="2" rendered="{!rfp.are_you_kp__c == 'No'}" id="appraiserInfo">
<apex:pageBlockSectionItem>
<apex:outputLabel value="Single Point of Contact" for="spoc"/>
<apex:selectList id="spoc" value="{!rfp.SPOCL__c}" size="1" title="Single Point of Contact Select">
<apex:selectOptions value="{!SPOCS}"></apex:selectOptions>
</apex:selectList>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:pageBlock>
...しかし、わからない、ここから行くするには - 正しいIDとoutputPanelの要素をレンダリングするために包ま:まだの問題を抱えていますinputFieldの変更の結果としてレンダリングされたブール値を切り替える - これをコントローラでどのように切り替えるのですか?私は、私は=入力フィールドの値かどうかを評価する必要があると思うし、それによって真にレンダリング設定 - 私はどのようにかかわらず、...
<apex:outputPanel id="appraiserInfo">
<apex:pageBlockSection title="Testing" columns="2" rendered="{!rfp.are_you_kp__c == 'No'}">
<apex:pageBlockSectionItem>
<apex:outputLabel value="Single Point of Contact" for="spoc"/>
<apex:selectList id="spoc" value="{!rfp.SPOCL__c}" size="1" title="Single Point of Contact Select">
<apex:selectOptions value="{!SPOCS}"></apex:selectOptions>
</apex:selectList>
</apex:pageBlockSectionItem>
</apex:pageBlockSection></apex:outputPanel>
さてさてもう一つの試みはわからない - それは動作します。この時間が、私はそれほど理由を得られません...それだけです。これは、(あなたがそれを見る方方法以下、または、)上記actionSupportにACTION =「{!updateAnswer}」
public pageReference updateAnswer(){
if(this.p.are_you_kp__c == 'No')
rfp.are_you_kp__c = 'No';
try{
update rfp;
}
catch (DmlException ex){
ApexPages.addMessages(ex);
return null;
}
return null;
}
おそらく関連する制御コード
public ProposalExtension(ApexPages.StandardController pCon) {
this.p = (Proposal__c)pCon.getRecord();
}
私は問題があると思っていますが、私の問題は、ユーザーが選択したinputFieldのピックリスト値を評価できるactionSupportにaction = {!function}が必要だと思うし、THATを使用して、レンダリング "される。これを行うことができるコントローラーの拡張機能に何かを書き込む方法はありますか? are_you_kp__cは--None--、Yes、またはNoのピックリストです。もし彼らがNoと答えるなら...私はそのSPOCセクションをレンダリングする必要があります – tsalb
アップデートをありがとう - しかし、私はまだユーザーの後に何も投稿していないので私のピックリストを切り替える - 私は少し周りを演奏し、何らかの理由で私はそこにコードを持っています。私はなぜか分かりません。 – tsalb
''は、ピックリストが変更されたときにコントローラ上でアクションを発生させます。あなたは ''を使用していないので、 ''の中のすべてがコントローラに返され、関連するページ部分が最新の値で再描画されます。 –