在primefaces中更新数据表的问题



我在更新主面组件时遇到麻烦。下面是一个例子:

            <h:form>
            <p:panel style="width: 350px;" header="Partial Process">
            <p:dataTable id="tablaPersonas" var="per" value="#{manejador.lista}">
                <p:column style="text-align: center;">
                    <f:facet name="header">
                        <h:outputText value="Nombre" />
                    </f:facet>
                    <h:outputText value="#{per.nombre}" />
                </p:column>
                <p:column style="text-align: center;">
                    <f:facet name="header">
                        <h:outputText value="Apellido" />
                    </f:facet>
                    <h:outputText value="#{per.apellido}" />
                </p:column>
                <p:column headerText="Editar" style="text-align: center;">
                    <p:commandButton value="Editar"/>
                </p:column>
             </p:dataTable>
    </p:panel>
            <p:commandButton value="Abrir" onclick="widgetDlgAgregar.show();"/>
            <p:dialog header="Agregar" widgetVar="widgetDlgAgregar" width="250" height="150" closable="true">
                <h:panelGrid id="gridAdd" columns="2">
                    <h:outputLabel value="Nombre:"/>
                    <p:inputText value="#{manejador.auxiliarAgregar.nombre}"/>
                    <h:outputLabel value="Apellido:"/>
                    <p:inputText value="#{manejador.auxiliarAgregar.apellido}"/>
                    <p:commandButton oncomplete="widgetDlgAgregar.hide();" update="tablaPersonas,gridAdd"  value="Agregar" actionListener="#{manejador.agregarPersona}"/>
                </h:panelGrid>
            </p:dialog>
        </h:form>

如你所见,我点击了一个名为"Abrir"的命令按钮,一个标题为"aggregar"的对话框打开了。我填写输入框,当我单击CommandButton"aggrear"时,DataTable没有更新。为什么会发生这种情况?

哦,对不起,我想你忘记了这个更新

试试这个应该可以

            <h:form prependId="false">
            <p:panel style="width: 350px;" header="Partial Process">
                <p:dataTable id="tablaPersonas" var="per"
                    value="#{manejador.lista}">
                    <p:column style="text-align: center;">
                        <f:facet name="header">
                            <h:outputText value="Nombre" />
                        </f:facet>
                        <h:outputText value="#{per.nombre}" />
                    </p:column>
                    <p:column style="text-align: center;">
                        <f:facet name="header">
                            <h:outputText value="Apellido" />
                        </f:facet>
                        <h:outputText value="#{per.apellido}" />
                    </p:column>
                    <p:column headerText="Editar" style="text-align: center;">
                        <p:commandButton value="Editar" />
                    </p:column>
                </p:dataTable>
            </p:panel>
            <p:commandButton value="Abrir" onclick="widgetDlgAgregar.show();" update="gridAdd" />

            <p:dialog header="Agregar" widgetVar="widgetDlgAgregar" width="250"
                height="150" closable="true">
                <h:panelGrid id="gridAdd" columns="2">
                    <h:outputLabel value="Nombre:" />
                    <p:inputText value="#{manejador.auxiliarAgregar.nombre}" />
                    <h:outputLabel value="Apellido:" />
                    <p:inputText value="#{manejador.auxiliarAgregar.apellido}" />
                    <p:commandButton oncomplete="widgetDlgAgregar.hide();"
                        update="tablaPersonas,gridAdd" value="Agregar"
                        actionListener="#{manejador.agregarPersona}" />
                </h:panelGrid>
            </p:dialog>
        </h:form>

试着把你的

<p:dialog header="Agregar" widgetVar="widgetDlgAgregar" width="250" height="150" closable="true">

在表单外添加prependId="false"到您的表单<h:form prependId="false" >

相关内容

  • 没有找到相关文章

最新更新