渲染不起作用

时间:2015-06-08 19:35:47

标签: salesforce

如果我尝试渲染下面的代码,它就不起作用了。 如果我告诉我列表的大小,我会得到值1,但什么也没发生。 错误在哪里?

我也尝试了!= NULL .isempty等,同样的问题。

<apex:pageblock title="Unternehmen Detail" id="pbAccDL" rendered="{!If(AccDList2.size > 0,true,false)}>
<apex:pageblocktable value="{!AccDList2}" var="AccD" rendered="{!IF(AccDList2.size != 0, true, false)">
    <apex:column style="font-size:16pt; font-weight: bold" headerValue="" value="{!AccD.Name}"/>
</apex:pageblocktable>
<apex:pageblocktable value="{!AccDList2}" var="AccD" columnswidth="50%, 25%, 25%">
    <apex:column value="{!AccD.BillingStreet}"/>
    <apex:column value="{!AccD.BillingPostalCode}"/>        
    <apex:column value="{!AccD.BillingCity}"/>     
</apex:pageblocktable>  

Public List <Account> getAccDList2() {
List <Account> AccD =  [SELECT Id, Name, RecordTypeId, Status__c, Kunde_seit__c, Billingstreet, BillingPostalCode, BillingCity FROM Account WHERE Id = :SelectedAccountId];
RETURN AccD;
} 

Public pageReference getAccDList() {
  getAccDList2(); 
 //RETURN NULL; 
   RETURN ApexPages.CurrentPage(); 
} 

我不明白这个问题,因为我对其他页面块使用相同的功能并且工作正常。

<apex:pageblock title="Account" id="pbAcc" rendered="{!IF(AccList2.size != NULL,true,false)}">
<apex:pageblockButtons location="top">
    <apex:commandButton value="page 1" rerender="pbAcc" action="{!FirstPage}" disabled="{!prev}"/>
    <apex:commandButton value="prev page" rerender="pbAcc" action="{!previous}" disabled="{!prev}"/>
    <apex:commandButton value="next page" rerender="pbAcc" action="{!next}" disabled="{!nxt}"/>
    <apex:commandButton value="last page" rerender="pbAcc" action="{!LastPage}" disabled="{!nxt}"/>
</apex:pageblockButtons>
    <apex:pageblocktable value="{!AccList2}" var="Acc" columnswidth="5%, 70%, 25%">
        <apex:column headervalue="LINK">
            <apex:outputLink target="_blank" value="/{!Acc.Id}">Details</apex:outputLink>
        </apex:column>
        <apex:column headervalue="Account">
            <apex:outputField value="{!Acc.Name}" />
            <apex:actionSupport event="onclick" action="{!getOppList}" rerender="pbOpp, pbAccDL, pbAccDR, pbOppD">
                <apex:param assignTo="{!SelectedAccountId}" value="{!Acc.Id}" name="SelectedAccountId"/>
            </apex:actionSupport>
        </apex:column>
        <apex:column headervalue="City">
            <apex:outputField value="{!Acc.BillingCity}"/>
        </apex:column>                                                              
    </apex:pageblocktable>   

请有人帮助我。

谢谢, PEX

1 个答案:

答案 0 :(得分:0)

请注意,如果外部容器(在您的情况下为apex:pageBlock)未在页面加载时呈现,您将无法在以后重新呈现内部元素。要确保这不是问题,请从外部顶点:pageblock中删除呈现的属性。在你的第二个例子中要注意的是你正在编写AccList2.size!= NULL,这绝不是这种情况(如果AccList2是一个列表),你应该用AccList2.size&gt;来检查。 0