Bonjour,

Dans une application web, j'utilise le framework Primefaces. Dans ma page HTML, je conditionne l'affichage de certaines cellules comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
            <p:column rendered="#{cat.nomProduit!=null}" >
                <h:outputText value="#{cat.nomProduit}" />
            </p:column>
Certaines cellules sont à la fois affichées sous condition et éditables ; je les code donc comme indiqué dans le showcase :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
            <p:column>
                <p:cellEditor rendered="#{cat.nomProduit!=null}"> 
                    <f:facet name="output"><h:outputText value="#{cat.prixProduit}" /></f:facet>
                    <f:facet name="input"><p:inputText value="#{cat.prixProduit}" /></f:facet>
                </p:cellEditor>
            </p:column>
Malheureusement, la combinaison des 2 (rendered+input) ne fonctionne pas : je peux modifier ma cellule, mais en sortie de champ la valeur saisie a disparue ... et en plus j'obtiens un magnifique Nul Pointer Exception !

Et si j’ôte ma condition d'affichage cela fonctionne, mais bien sûr je me retrouve avec une colonne en trop !

Quelqu'un a-t-il une solution ?

Note : je ne souhaite pas utiliser l'alternative prévue par ce framework et qui consiste à passer par une popup.

MERCI.