2011-10-27 42 views
1

我想在preRender Fase期間呈現/不呈現表格。我使用的jdev 10.3.1.4在Oracle ADF中獲取表格的呈現屬性時出錯

我建立了一個表,「繪製的」屬性設置是這樣的:

<af:table binding="#{backingBean.table1}" banding="row" 
       rendered="#{backingBean.table1.rendered}"> 

在支持bean我做

protected void onPagePreRender(PagePhaseEvent event) { 
    getTable1().setRendered(false); 
    AdfFacesContext.getCurrentInstance().addPartialTarget(getTable1()); 
} 

,我不斷得到錯誤Error getting property 'rendered' from bean of type oracle.adf.view.faces.component.core.data.CoreTable

我該如何解決這個問題?

回答

3

刪除rendered屬性。它基本上是在無限循環中引用自己。如果您已通過binding引用的組件對其進行編程操作,則不需要它。

如果你真的打算使用rendered屬性,正確的用法是:

<af:table binding="#{backingBean.table1}" banding="row" 
    rendered="#{backingBean.rendered}"> 

private boolean rendered = true; 

protected void onPagePreRender(PagePhaseEvent event) { 
    rendered = false; 
    AdfFacesContext.getCurrentInstance().addPartialTarget(getTable1()); 
} 

public boolean isRendered() { 
    return rendered; 
}