Primefaces 手风琴内的数据表不';t在客户端筛选后更新

Primefaces 手风琴内的数据表不';t在客户端筛选后更新,primefaces,accordion,jsf-2.2,Primefaces,Accordion,Jsf 2.2,我在我的项目中使用primefaces,我在它的组件方面遇到了一些问题。 我在accordion中有一个dataTabe,它们都在我的托管bean中填充了一个列表。问题是,在我把这个数据表放进手风琴之前,过滤器工作得很好。当它进入accordion时,实际上结果与过滤器相对应,但是如果我单击任何一行中的comandButton,我从“f:setPropertyActionListener”获得的对象与过滤器后的列表不对应。 编辑: -Primefaces 6.0 -动态Web模块3.0 -Jav

我在我的项目中使用primefaces,我在它的组件方面遇到了一些问题。 我在accordion中有一个dataTabe,它们都在我的托管bean中填充了一个列表。问题是,在我把这个数据表放进手风琴之前,过滤器工作得很好。当它进入accordion时,实际上结果与过滤器相对应,但是如果我单击任何一行中的comandButton,我从“f:setPropertyActionListener”获得的对象与过滤器后的列表不对应。

编辑:
-Primefaces 6.0
-动态Web模块3.0
-Java 1.7
-Mojarra JSF实施2.2.3


.xhtml:

<h:form id="frmPrincipal" enctype="multipart/form-data">
    <p:toolbar style="background : none; border:0px">
        <f:facet name="left">
            <p:commandButton value="Novo Documento" oncomplete="PF('dlgIncluirDocumento').show();"
                actionListener="#{MyBean.prepararInclusao()}" update=":frmIncDocVal:pngIncDoc
                :frmIncDocVal:pnlTblEmail :frmIncDocVal:pnlEmailNvDoc" />
        </f:facet>
    </p:toolbar>
    <p:accordionPanel dynamic="true" value="#{MyBean.grupos}" var="grupo">
        <p:tab  title="#{grupo.nome}">
            <p:dataTable id="tbValidadeDocFiltrado" widgetVar="#{grupo.idComponente}"
                emptyMessage="Nenhum registro enccontrado" lazy="false"
                value="#{grupo.documentos}" var="item" filteredValue="#{grupo.documentosFiltrados}"
                paginator="true" rows="30" paginatorPosition="bottom" rowsPerPageTemplate="15,30,45">

                <f:facet name="header"><p:outputLabel value="Validade Documento" /></f:facet>

                <p:column headerText="Empresa" sortBy="#{item.tipoDocumento.empresa.nome}" filterBy="#{item.tipoDocumento.empresa.nome}">
                    <f:facet name="filter">
                        <p:selectOneMenu onchange="PF('#{grupo.idComponente}').filter()" >
                            <f:selectItem itemLabel="Selecione" itemValue="#{null}"
                                noSelectionOption="true" />
                            <f:selectItems value="#{MyBean.itensEmpresa}"
                                var="empresa" itemValue="#{empresa.nome}"
                                itemLabel="#{empresa.nome}" />
                        </p:selectOneMenu>
                    </f:facet>
                    <p:outputLabel value="#{item.tipoDocumento.empresa.nome}" />
                </p:column>
                <p:column headerText="Departamento"
                    sortBy="#{item.tipoDocumento.departamento.nome}"
                    filterBy="#{item.tipoDocumento.departamento.nome}">
                    <f:facet name="filter">
                        <p:selectOneMenu onchange="PF('#{grupo.idComponente}').filter()">
                            <f:selectItem itemLabel="Selecione" itemValue="#{null}"
                                noSelectionOption="true" />
                            <f:selectItems value="#{MyBean.itensDepartamento}"
                                var="departamento" itemValue="#{departamento.nome}"
                                itemLabel="#{departamento.nome}" />
                        </p:selectOneMenu>
                    </f:facet>
                    <p:outputLabel value="#{item.tipoDocumento.departamento.nome}" />
                </p:column>
                <p:column headerText="Documento" sortBy="#{item.tipoDocumento.nome}"
                    filterBy="#{item.tipoDocumento.nome}">
                    <p:outputLabel value="#{item.tipoDocumento.nome}" />
                </p:column>
                <p:column headerText="Arquivo">
                    <p:commandLink title="Download" value="#{item.arquivo.nome}" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop);" rendered="#{item.cadastroDocumentoDownload}" disabled="#{ ! item.icArquivo}">
                        <f:setPropertyActionListener value="#{item}" target="#{MyBean.validadeDocumento}" />
                        <p:fileDownload value="#{MyBean.fileDown}" />
                    </p:commandLink>
                </p:column>
                <p:column headerText="Opções" exportable="false" width="160">
                    <p:commandButton icon="ui-icon-pencil" title="Alterar"
                        oncomplete="PF('dialog1').show();"
                        disabled="false" rendered="#{item.cadastroDocumentoEditar}"
                        action="#{MyBean.prepararAlterarTipoDocumento()}"
                        update=":idTituloTpDocTituloTelaDlgAlt :frmAltTpDoc:pngAltDoc">
                        <f:setPropertyActionListener  value="#{item}" target="#{MyBean.validadeDocumento}" />
                    </p:commandButton>
                </p:column>
            </p:dataTable>
        </p:tab>
    </p:accordionPanel>
</h:form>

使用命令按钮进行打印:

过滤后命令按钮不工作时打印:


xhtml的某些部分通常是无用的,因为在超过75%的情况下,原因要么是其他地方。请创建一个(另请参阅并发布版本infoOk。对不起,这是我在这里的第一个问题。我添加了更多信息。没问题,这就是我评论的原因。在您的代码中没有对话框,而在屏幕截图中有对话框,这似乎是错误的数据所在。请发布一个。。。