0

I have a p:dataTable with this configuration:

<p:dataTable rows="12" value="#{dtmanager.details}" var="iter"
        editable="true" editMode="cell" frozenColumns="1" 
        scrollable="true" scrollWidth="90%">
    <p:ajax event="cellEdit" listener="#{controller.onCellEdit}"
        process="@this" update="@this" />
    <p:column headerText="No">
        <h:outputText value="#{iter.attFrozed}" />
    </p:column>
    <p:column headerText="Column 1">
        <p:cellEditor>
            <f:facet name="output">
                <h:outputText value="#{iter.att1}" />
            </f:facet>
            <f:facet name="input">
                <p:inputText value="#{iter.att1}" maxlength="6"
                    onkeypress="return isNumberKey(event);" />
            </f:facet>
        </p:cellEditor>
    </p:column>
    <!-- And lots of columns with editable cells like before -->
</p:dataTable>

The problem is when I edit one of the cells, this doesn't render from input facet to the output facet inside the cellEditor tag. But the value is still in the input facet (in the p:inputText)

When I erase the property frozenColumns="1" from p:dataTable, cellEditor works perfect.

I see this in the log file:

17:38:21,861 INFO  [stdout] (http-localhost/127.0.0.1:8080-131) ****  Procesando una nueva Peticion   ****
17:38:21,862 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Antes de la fase--> RESTORE_VIEW 1
17:38:21,925 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Despues de la fase--> RESTORE_VIEW 1--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:38:21,925 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Antes de la fase--> APPLY_REQUEST_VALUES 2
17:38:21,944 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Despues de la fase--> APPLY_REQUEST_VALUES 2--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:38:21,944 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Antes de la fase--> PROCESS_VALIDATIONS 3
17:38:22,004 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Despues de la fase--> PROCESS_VALIDATIONS 3--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:38:22,004 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Antes de la fase--> UPDATE_MODEL_VALUES 4
17:38:22,021 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Despues de la fase--> UPDATE_MODEL_VALUES 4--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:38:22,021 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Antes de la fase--> INVOKE_APPLICATION 5
17:38:22,023 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Despues de la fase--> INVOKE_APPLICATION 5--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:38:22,023 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Antes de la fase--> RENDER_RESPONSE 6
17:38:22,050 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost/127.0.0.1:8080-131) java.lang.NullPointerException
17:38:22,058 INFO  [stdout] (http-localhost/127.0.0.1:8080-131)    Despues de la fase--> RENDER_RESPONSE 6--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:38:22,058 INFO  [stdout] (http-localhost/127.0.0.1:8080-131) ******Peticion Procesada!!****
17:38:22,058 INFO  [stdout] (http-localhost/127.0.0.1:8080-131) <<<  <<<   <<    <<     <
17:38:22,059 INFO  [stdout] (http-localhost/127.0.0.1:8080-131) 
17:41:34,606 INFO  [stdout] (http-localhost/127.0.0.1:8080-141) 
17:41:34,606 INFO  [stdout] (http-localhost/127.0.0.1:8080-141)  >   >   >>   >>   >>>    >>>
17:41:34,606 INFO  [stdout] (http-localhost/127.0.0.1:8080-141) ****  Procesando una nueva Peticion   ****
17:41:34,607 INFO  [stdout] (http-localhost/127.0.0.1:8080-141)    Antes de la fase--> RESTORE_VIEW 1
17:41:34,608 INFO  [stdout] (http-localhost/127.0.0.1:8080-141)    Despues de la fase--> RESTORE_VIEW 1--Vista /historiaClinica/atencionPacEnfermera/neonatologia/gestionarCuidadosIntensivosNeo.xhtml
17:41:34,609 INFO  [stdout] (http-localhost/127.0.0.1:8080-141)    Antes de la fase--> RENDER_RESPONSE 6

Is this a bug? Where is my error.

I'm using primefaces, jsf 2.2, jboss eap 6. Thanks for your help.

Danny P
  • 93
  • 2
  • 13
  • You most likely have a full stacktrace in the logging. Analyze that. And also state your PrimeFaces version. And always TRY the latest one. And also the real JSF implementation version (Mojarra 2.2.x???, what is x) And check the PrimeFaces release notes – Kukeltje Mar 17 '16 at 08:15
  • I have changed the stacktrace part in my question. I use Primefaces 5.1, Mojarra 2.1.10. I also have seen this [question](http://stackoverflow.com/questions/31799756/too-much-data-in-pdatatable-results-in-broken-row-cell-edit-submits/31823670#31823670) which solved the problem when I tried to send too much data but the error appeared again only when I use the frozencolumns attribute. – Danny P Mar 17 '16 at 13:33

0 Answers0