2014-04-25 2 views
0

선택 목록의 값을 기반으로 페이지 블록 섹션을 새로 고치려고합니다. 여기에 VF가 있습니다 :salesforce apex refresh VF 페이지 블록 섹션

<apex:pageblockSectionItem >     
        <apex:selectList size="1" value="{!reasonCode}"> 
         <apex:selectOptions value="{!reasonCodes}"/> 
         <apex:actionSupport event="onchange" reRender="a"/> 
         <apex:actionSupport event="oncomplete" action="{!isAcceptedReasonCode}" reRender="orders"/> 
        </apex:selectList>     
       </apex:pageblockSectionItem> 
      </apex:pageBlockSection> 

<apex:pageBlockSection id="orders" rendered="{!isAcceptedRC==true}" > 
       <apex:outputLabel value="Order Number" for="odNum"/> 
       <apex:inputText id="odNum" value="{!OrderNumber}"/> 
      </apex:pageBlockSection> 

나는 많은 사건을 시도했지만 아무 것도 작동하지 않습니다.

public PageReference isAcceptedReasonCode(){ 
     if(reasonCode == 'Accepted Offer') { 
      isAcceptedRC = true;  
     }else { 
      isAcceptedRC = false; 
     } 
     return null; 
    } 

이 매우 간단 보이지만 내가 할 수 = '허용 행사'

답변

0

가 정점을 추가 할 수있는 선택 목록을 변경 물론 ... 작동하지 않는 것 : 여기 isAcceptedReasonCode 기능은 outputPanel 선택 옵션이 변경되면 apex : pageBlockSection 및 reRender 출력 패널 위.

샘플 코드 :

 <apex:pageblockSectionItem >     
       <apex:selectList size="1" value="{!reasonCode}"> 
        <apex:selectOption itemLabel="Test" itemValue="Test"></apex:selectOption> 
        <apex:selectOption itemLabel="Accepted Offer" itemValue="Accepted Offer"></apex:selectOption> 
        <apex:actionSupport event="onchange" action="{!isAcceptedReasonCode}" reRender="testPanel"/> 

       </apex:selectList> 
     </apex:pageblockSectionItem >     
     </apex:pageBlockSection> 
     <apex:outputPanel id="testPanel"> 
     <apex:pageBlockSection id="orders" rendered="{!isAcceptedRC}" > 
      <apex:outputLabel value="Order Number" for="odNum"/> 
      <apex:inputText id="odNum" value="{!OrderNumber}"/> 
     </apex:pageBlockSection> 
     </apex:outputPanel> 
     </apex:pageBlock > 
관련 문제