首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新渲染页面块

重新渲染页面块
EN

Stack Overflow用户
提问于 2015-04-29 22:08:47
回答 1查看 983关注 0票数 0

如果我第一次运行页面,所有的页面块都会显示消息"choose an user,account or opp“,因为没有选择任何内容。但如果我已经选择了用户、帐户或opp,页面块将显示帐户或opp的列表/详细信息。如果我改变了顶部的用户,我希望所有的面板/页面块都会被重置,但是我该怎么做呢?我向rerender函数添加了所有的页面块,但它不起作用。我的代码出了什么问题?

代码语言:javascript
复制
<apex:form >

<apex:pageBlock id="pbUser">
    <apex:pageBlockSection >
        <apex:OutputPanel >
            <apex:selectList value="{!SelectedUserId}" size="1" multiselect="false">
                <apex:selectOptions value="{!ListOfUser}" /> 
                <apex:actionSupport event="onchange" action="{!fetchAccounts}" <u><b>rerender="pbAcc, pbOpp, pbOppD"</b></u>/>              
            </apex:selectList>
        </apex:OutputPanel>
    </apex:pageBlockSection>
</apex:pageBlock>

<apex:pageblock <u><b>id="pbAcc"</b></u>>
    <apex:pageBlockSection rendered="{!IF(AccList.size >0,true,false)}" id="pbsAcc">
        <apex:outputpanel style="overflow:scroll;height:200px;" layout="block" id="panelAcc">
            <apex:pageblocktable value="{!AccList}" var="Acc" onRowClick="highlightAcc(this)">
                <apex:column headervalue="Name">
                    <apex:outputField value="{!Acc.Name}"/>
                    <apex:actionSupport event="onclick" action="{!fetchOpps}" <u><b>rerender="pbOpp, pbOppD"</b></u>>
                        <apex:param assignTo="{!SelectedAccountId}" value="{!Acc.Id}" name="SelectedAccountId"/>
                    </apex:actionSupport>
                </apex:column>        
                <apex:column headervalue="Street">
                    <apex:outputfield value="{!Acc.BillingStreet}" />
                </apex:column>
                <apex:column headervalue="City">
                    <apex:outputfield value="{!Acc.BillingCity}" />
                </apex:column>
            </apex:pageblocktable>   
        </apex:outputpanel>
    </apex:pageBlockSection>

    <apex:pageBlockSection rendered="{!IF(AccList.size <1,true,false)}">
        <apex:outputpanel style="overflow:scroll;height:200px;" layout="block">
           Choose a User.
        </apex:outputpanel>
    </apex:pageBlockSection>
</apex:pageblock>

<apex:pageblock <u><b>id="pbOpp"</b></u>>
    <apex:pageBlockSection rendered="{!IF(OppList.size >0,true,false)}" id="pbsOpp">
        <apex:outputpanel style="overflow:scroll;height:200px;" layout="block" id="panelOpp">
            <apex:pageblocktable value="{!OppList}" var="Opp" onRowClick="highlightOpp(this)">
                <apex:column headervalue="Name">
                    <apex:outputfield value="{!Opp.Name}"/>{!Opp.Id}
                    <apex:actionSupport event="onclick" action="{!fetchOppDetail}" <u><b>rerender="pbOppD"</b></u>>
                        <apex:param assignTo="{!SelectedOppId}" value="{!Opp.Id}" name="SelectedOppId"/>
                    </apex:actionSupport>
                </apex:column>        
                <apex:column headervalue="Amount">
                    <apex:outputfield value="{!Opp.Amount}"/>
                </apex:column>
            </apex:pageblocktable>   
        </apex:outputpanel>
    </apex:pageBlockSection>

    <apex:pageBlockSection rendered="{!IF(OppList.size <1,true,false)}">
        <apex:outputpanel style="overflow:scroll;height:200px;" layout="block">
            Choose an account.
        </apex:outputpanel>
    </apex:pageBlockSection>
</apex:pageblock>

<apex:pageblock <u><b>id="pbOppD"</b></u> mode="inlineEdit">
    <apex:pageBlockButtons location="top">
        <apex:commandButton action="{!SaveInlineChanges}" value="Save" id="saveButton"/>
        <apex:commandButton action="{!fetchOppDetail}" value="Cancel" id="cancelButton"/>
    </apex:pageBlockButtons>
    <apex:pageBlockSection rendered="{!IF(OppDetail.size >0,true,false)}" id="pbsOppD">
        <apex:outputpanel style="overflow:scroll;height:200px;" layout="block" id="panelOppD">
            <apex:pageblocktable value="{!OppDetail}" var="OppD">
                <apex:column headervalue="Name">
                    <apex:outputfield value="{!OppD.Name}">
                        <apex:inlineEditSupport showOnEdit="saveButton, cancelButton" hideOnEdit="editButton" event="ondblclick" changedStyleClass="myBoldClass" resetFunction="resetInlineEdit"/>
                    </apex:outputfield>
                </apex:column>        
                <apex:column headervalue="Amount">
                    <apex:outputfield value="{!OppD.Amount}" />
                </apex:column>
            </apex:pageblocktable>   
        </apex:outputpanel>
    </apex:pageBlockSection>

    <apex:pageBlockSection rendered="{!IF(OppDetail.size <1,true,false)}">
        <apex:outputpanel style="overflow:scroll;height:200px;" layout="block">
            Chosse an opportunity.
        </apex:outputpanel>
    </apex:pageBlockSection>
</apex:pageblock>

</apex:form>

谢谢,萨沙

EN

回答 1

Stack Overflow用户

发布于 2015-05-03 18:04:45

我怀疑问题在于您的actionSupport定义中有一些放错了位置的html。更改:

代码语言:javascript
复制
<apex:actionSupport event="onchange" action="{!fetchAccounts}" <u><b>rerender="pbAcc, pbOpp, pbOppD"</b></u>/>              

至:

代码语言:javascript
复制
<apex:actionSupport event="onchange" action="{!fetchAccounts}" rerender="pbAcc, pbOpp, pbOppD"/>  

(这也适用于页面下方的其他actionSupport元素)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29946219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档