在另一个数据表中选择后更新数据表

时间:2018-06-05 07:16:42

标签: ajax primefaces datatable

我有一个数据表需要在用户选择行时更新另一个数据表。在选择事件之后正确更新resultSelectedCommunity对象,但第二个数据表的内容未刷新。我检查了浏览器,显然更新类(:formFreq:tableFreq)是正确的。我知道这里发布的是一些相关问题,但我会阅读其中的每一个,但没有一个解决方案适合我。我使用的是Primefaces 5.1和JSF 2.2.9。

<f:metadata>
    <f:event type="preRenderComponent" listener="#{results.loadComponents}" ></f:event>
</f:metadata>
...
<h:body>
...

<h:form id="formResults">           
    <p:dataTable id="tableComm" value="#{results.communitiesList}" var="community" selectionMode="single" selection="#{results.resultSelectedCommunity}" rowKey="#{community.id}">
        <f:facet name="header">
        Communities
        </f:facet>
        <p:ajax event="rowSelect" listener="#{results.onResultsCommSelect}" update=":formFreq:tableFreq" />
        <p:column>
            #{community.toString()} [#{community.size()}]
        </p:column>
    </p:dataTable>
</h:form>

<h:form id="formFreq">  
    <p:dataTable id="tableFreq" value="#{results.resultSelectedCommunity.nodes}" var="node" rowIndexVar="index">>
        <f:facet name="header">
            Frequencies
        </f:facet>
        <p:column>
            <b>#{node}</b>
        </p:column>

        <p:columns value="#{results.resultSelectedCommunity.columnHeaders}" var="col" columnIndexVar="colIndex">
            <f:facet name="header">
                #{col}
            </f:facet>
            <p:outputLabel value="#{results.resultSelectedCommunity.getFrequenceRow(node).get(colIndex)}" styleClass="#{results.resultSelectedCommunity.getColumnColorStatus(node,colIndex)}"/>
        </p:columns>
    </p:dataTable>
</h:form>

我添加一个印刷品只是为了澄清我的问题。用户应单击左侧项目,表格应更新其内容。这是一个非常简单的任务,我的项目有很多更新例程,但由于某些原因我无法弄清楚,这是一个不起作用。

enter image description here *此ajax提交按钮不应存在。我只是添加它来进行一些测试

由于

0 个答案:

没有答案