【问题标题】:salesforce apex refresh VF pageblock sectionsalesforce apex 刷新 VF 页面阻止部分
【发布时间】:2014-04-25 20:44:20
【问题描述】:

我正在尝试根据选择列表的值刷新页面块部分。这是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>

我尝试了很多不同的事件,但似乎没有一个有效。这是isAcceptedReasonCode函数:

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

这看起来很简单,但似乎不起作用...当然我将选择列表更改为 = 'Accepted Offer'

【问题讨论】:

    标签: salesforce visualforce apex


    【解决方案1】:

    在 apex:pageBlockSection 上方添加 apex:outputPanel 并在更改选择选项时重新渲染输出面板。

    示例代码:

           <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 >
    

    【讨论】:

      猜你喜欢
      • 2020-12-06
      • 2019-10-06
      • 2015-08-10
      • 2010-11-17
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多