繁体   English   中英

更新 primefaces 中的数据表时出现问题

[英]Problems updating a DataTable in primefaces

我在更新 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”的命令按钮,然后打开一个以“Agregar”为标题的对话框。 我填写了输入框,当我单击命令按钮“Agregar”时,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" >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM