Salesforce 重新加载页面块
如果我第一次运行页面,所有页面块都会显示消息“选择用户、帐户或opp”,因为没有选择任何内容。但如果我已经选择了用户、帐户或opp,页面块将显示帐户或opp的列表/详细信息。 如果我更改顶部的用户,我希望所有面板/页面块都将重置,但我如何才能做到这一点? 我将所有页面块都添加到了rerender函数中,但它不起作用。我的代码有什么问题Salesforce 重新加载页面块,salesforce,Salesforce,如果我第一次运行页面,所有页面块都会显示消息“选择用户、帐户或opp”,因为没有选择任何内容。但如果我已经选择了用户、帐户或opp,页面块将显示帐户或opp的列表/详细信息。 如果我更改顶部的用户,我希望所有面板/页面块都将重置,但我如何才能做到这一点? 我将所有页面块都添加到了rerender函数中,但它不起作用。我的代码有什么问题 <apex:form > <apex:pageBlock id="pbUser"> <apex:pageBlockSect
<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>
谢谢,
Sascha我怀疑问题在于actionSupport定义中的html放错了位置。更改:
<apex:actionSupport event="onchange" action="{!fetchAccounts}" <u><b>rerender="pbAcc, pbOpp, pbOppD"</b></u>/>
致:
这也适用于页面下方的其他actionSupport元素
<apex:actionSupport event="onchange" action="{!fetchAccounts}" rerender="pbAcc, pbOpp, pbOppD"/>