2015-09-23 3 views
0

J'ai un "problème" avec un composant d'onglet pour tabView de Primefaces. J'ai fait un tabView avec des onglets dynamiques basés sur un tableau.Primefaces tabView dynamique, attribut rendu tab ne fonctionne pas

Mais certains onglets ne peuvent pas être rendus, en fonction d'un attribut booléen de l'objet de ce tableau.

J'ai essayé rendered = "true" ou "false" mais rien ne se passe (sur l'onglet). J'utilise rendered = "# {_ item.show}" J'ai essayé d'utiliser la fonctionnalité désactivée et fonctionne très bien, mais ce n'est pas mon besoin.

Quelqu'un a une idée de la façon de résoudre ce problème?

vérifier mon code:

<p:tabView id="tabs" value="#{myBean.list}" var="_item" orientation="left" style="height:800px!important;" > 

     <p:tab title="#{_item}" rendered="#{_item.show}" > 
+0

bien c'est bizarre. ce qui s'est passé pour moi, c'est que l'onglet restait toujours rendu mais que son contenu correspondant ne l'était pas. sent comme un insecte pour moi. – Fritz

+1

pour moi aussi, le truc css de Geinmachi a fonctionné pour moi –

Répondre

1

Ajouter disabled attribut à votre <p:tab> et utiliser ce style pour onglet cacher:

<style> 
    #tabs li.ui-state-disabled { 
     display: none; 
    } 
</style> 

Valeur après # est votre <p:tabView> clientId, donc si elle est un conteneur de nommage comme <h:form id="myForm"> puis il suffit de changer votre sélecteur à #myForm\:tabs.

rendered="false" fonctionne mais il ne restitue pas le contenu de l'onglet, pas l'onglet lui-même.

+0

Je l'ai fait et a bien fonctionné ... Utilisez css pour résoudre ce fut ma dernière option. Mais merci pour l'aide –