2015-10-12 57 views
0

我使用的是primefaces 5.2。 我想用动态呈现的选项卡使用accordionpanel。 我XHTML代码:primefaces accordionpanel选项卡呈现

<p:accordionPanel value="#{rechercheBean.structures}" dynamic="true" cache="false" var ="structure"> 
<p:tab title="#{structure.nomStructure} #{structure.existe?'existe':'n existe pas'}" rendered="#{structure.existe}" > 
</p:tab> 
</p:accordionPanel> 

的“existe”值存储在一个布尔值,我的问题是,它似乎在渲染属性中从未使用过。 我有这个结果。 tab rendered 我试图用相同的结果直接写它:该标签总是呈现。

你能帮我吗?

回答

0

它看起来像rendered行为相同like inp:tabView,它不呈现标签的内容,但它呈现标签本身。在你的情况下,这种风格隐藏了没有渲染/禁用的标签(你可以省略,之后的内容,但是如果它被禁用,这隐藏了第一个标签的内容)。

<style> 
    #myPanel > h3.ui-state-disabled, #myPanel > div.ui-accordion-content { 
     display: none; 
    } 
</style> 

p:accordionPanelidp:tabdisabled属性:

<p:accordionPanel id="myPanel" value="#{rechercheBean.structures}" dynamic="true" cache="false" var ="structure"> 
    <p:tab title="#{structure.nomStructure} #{structure.existe?'existe':'n existe pas'}" rendered="#{structure.existe}" disabled="#{!structure.existe}" /> 
</p:accordionPanel> 
+0

确定我只是tryed thisand结果看起来不错,即使就是它不正是我想要的。 – willyodin