简体   繁体   English

如何更新手风琴标签中的数据表(素面)

[英]How to update datatable in tab of accordion (primefaces)

I have Accordionpanel>Tab>DataTable .If u click/select row in datatable,Showing a dialog .And if u close the dialog,I reset the selected row from managedbean(thats work). 我有Accordionpanel> Tab> DataTable 。如果您单击/选择数据表中的行,则显示一个对话框 。如果您关闭该对话框,则从managedbean重置所选行(这是可行的)。 But I can't update the above datatable in acc>tab . 但是我无法在acc> tab中更新上述数据
code looks like this: 代码看起来像这样:

    <h:form id="alphabets">
    <h4>XYZ</h4>
    <p:accordionPanel id="acc" value="#{aMB.aList}"
        var="a" multiple="false" dynamic="true">
        <p:tab title="#{a.name}">
            <p:dataTable id="table_a" var="b"
                value="#{a.Blist}" selectionMode="single"
                selection="#{aMB.selectedA}" rowKey="#{b.id}"
                rowIndexVar="count">

                <p:ajax event="rowSelect" update=":dialog_form:table_c"
                    onstart="PF('cDialog').show()" />

                <p:column style="width:40px !important;" headerText="id"
                    sortBy="#{count}">
                    <h:outputText value="#{count+1}" />
                </p:column>
                <p:column headerText="Name:">
                    <h:outputText value="#{b.name}" />
                </p:column>
            </p:dataTable>
        </p:tab>
    </p:accordionPanel>
</h:form>
<h:form id="dialog_form">
    <p:dialog header="xyz details" widgetVar="cDialog"
        closeOnEscape="true" showEffect="fade" hideEffect="fade"
        resizable="false">
        <p:ajax event="close" listener="#{aMB.selectedReset}"
            update=":alphabets:acc:tab#{acc.activeIndex}" />

        <p:dataTable id="table_c" var="c"
            value="#{aMB.selectedB.cList}" selectionMode="single"
            rowKey="#{c.id}"
            rowIndexVar="count">

            <p:column style="width:40px !important;" headerText="id"
                sortBy="#{count}">
                <h:outputText value="#{count+1}" />
            </p:column>
            <p:column headerText="Name">
                <h:outputText value="#{c.name}" />
            </p:column>
        </p:dataTable>
    </p:dialog>
</h:form>


When I try to open this page,I am getting below error: 当我尝试打开此页面时,出现以下错误:

javax.faces.FacesException: Cannot find component with expression ":alphabets:acc:tab" referenced from "dialog_form:j_id_b". javax.faces.FacesException:找不到从“ dialog_form:j_id_b”引用的表达式为“:alphabets:acc:tab”的组件。

So I cannot update this table from dialog.Does anyone have any idea or experience?Thanks in advance. 所以我无法从对话框更新此表。任何人有任何想法或经验吗?谢谢。

使用以下代码进行更新:

<p:ajax event="close" listener="#{aMB.selectedReset}" update="@([id$=table_a])" />

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

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