Actualización de tabla de datos de PrimeFaces

Tengo este código para mi página web.

    <h:form id="formTipoGeneracion"
            enctype="multipart/form-data">
        <p:growl id="mensajesCargaArchivos"
                 showDetail="true"/>
        <p:fileUpload mode="simple"
                      value="#{generador.archivoSeleccionado}"/>
        <br/>
        <p:commandButton value="Agregar"
                         ajax="false"
                         action="#{generador.doAgregarArchivo}"/>
        <p:dataTable id="dtArchivos"
                     var="archivo"
                     emptyMessage="No se ha cargado ningun archivo en el servidor."
                     value="#{generador.archivos}">
            <p:column>
                <f:facet name="header">
                    <h:outputText value="Nombre del archivo"/>
                </f:facet>
                <h:outputText value="#{archivo}"/>
            </p:column>
            <p:column>
                <f:facet name="header">
                    <h:outputText value="Quitar archivo?"/>
                </f:facet>
                <p:commandLink value="[  X  ]" update="@form"
                               action="#{generador.doEliminarArchivo(archivo)}"/>
            </p:column>
        </p:dataTable>
    </h:form>

tengo una duda muy grande, cuando tengo <p:commandLink ... update="@form" .../> la tabla actualiza sus datos correctamente pero si tengo <p:commandLink ... update="dtArchivos" .../> (en lugar de representar todo el formulario, simplemente represente DataTable), la información de la tabla no se actualiza.

¿Por qué está pasando esto? Herramientas: PrimeFaces 3.3, Mojarra 2.1.6, Tomcat 7.0.14 Alcance de Bean: ViewScope

preguntado el 12 de junio de 12 a las 17:06

¿Por qué estás usando ajax="false"? ¿Qué pasa si quitas el atributo? -

Estoy usando ajax=false en la commandButton porque estoy usando un formulario de carga simple (la etiqueta html muy básica), y buscando en Internet encontré que cuando mode="simple" ese atributo debe establecerse en falso. Si lo elimino no sube el archivo. -

Creo que el problema está ahí. Con update="dtArchivos" estás usando ajax detrás de escena. -

Cuando deshabilito ajax para p:commandButton ¿Deshabilita ajax para todo el formulario? Por otro lado, cuando uso update='@form' ¿No usa ajax también? -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.