Primefaces DataTable ajax不更新除自身之外的任何组件

Bar*_*rni 0 jsf primefaces jsf-2

<h:form id="form">
        <p:messages />
        <p:panel header="Análise">
            <h:outputText value="Mês da análise: " />

            <p:selectOneMenu value="#{report005.selectedMes}">
                <f:selectItems var="data" value="#{report005.analiseMeses}" itemLabel="#{report005.formataDataCombo(data)}" />
                <f:convertDateTime pattern="MM/yyyy" />
            </p:selectOneMenu>

            <p:commandButton value="Análises" update="analiseTable" actionListener="#{report005.loadAnalise()}" />

            <p:dataTable id="analiseTable" var="pes" value="#{report005.analiseModel}" selection="#{report005.selectedAnalise}" emptyMessage="Não há registros...">

                <p:column selectionMode="multiple" style="width:18px" />

                <p:ajax event="rowSelectCheckbox" listener="#{report005.loadAnaliseProduto()}" update="produtosmanycheck" />

                <p:column headerText="Código">  
                    #{pes.cod_analise}  
                </p:column>

                <p:column headerText="Nome">  
                    #{pes.dsc_analise}  
                </p:column>

                <p:column headerText="Descrição">  
                    #{pes.dsc_resumida_acao}  
                </p:column>

                <p:column headerText="Planejamento">
                    <h:outputText value="#{pes.dat_planejamento_analise}">
                        <f:convertDateTime pattern="dd/MM/yyyy" />
                    </h:outputText>
                </p:column>

            </p:dataTable>
        </p:panel>
        <p:panel header="Produto Gerencial">

            <p:selectManyCheckbox id="produtosmanycheck" value="#{report005.selectedProduto}" layout="pageDirection">
                <f:selectItems id="teste" value="#{report005.produtos}" />
            </p:selectManyCheckbox>

        </p:panel>
        <p:commandButton value="Enviar" action="#{report005.send}" ajax="false" />
    </h:form>
Run Code Online (Sandbox Code Playgroud)

如果AJAX事件"rowSelectCheckbox"被触发,它找不到要更新的'produtosmanycheck'组件,将以下错误返回给我:

javax.faces.FacesException:找不到标题为"produtosmanycheck"的组件,该组件引自"form:analiseTable".在org.primefaces.util.ComponentUtils.findClientIds(ComponentUtils.java:251)在org.primefaces.util.AjaxRequestBuilder.addIds(AjaxRequestBuilder.java:102)在org.primefaces.util.AjaxRequestBuilder.update(AjaxRequestBuilder.java:90 )

我已经尝试了=:form:produtosmanycheck,form:produtosmanycheck,:produtosmanycheck,produtosmanycheck

我也尝试删除了FORM ID ...但没有成功......

我究竟做错了什么?我无法更新除DataTable之外的任何组件......

kol*_*sus 5

你可以produtosmanycheck使用它 :form:produtosmanycheck

编辑:嵌套表单将无法正常工作,并提供各种DOM问题,如您遇到的问题.找出一种方法将视图组件分成单独的表单,然后尝试上面提到的访问.