带有动态内容的<p:overlaypanel>未正确更新</p:overlaypanel>

时间:2014-07-29 05:22:11

标签: jsf-2 primefaces overlay

单击任何数据表行应显示覆盖面板。覆盖面板本身具有另一个数据表(自定义组件)。

问题:假设我第一次点击第2行,然后正确显示叠加面板中的数据。但是,如果我对列进行排序并再次单击已排序数据上的第2行,则显示相同的旧覆盖面板,由于排序,第2行现在不同。为什么叠加面板没有正确更新?

这是我的代码:

查看:

<p:dataTable value="#{dummyController.providerList}" var="m" id="multiple_claims_on_same_day_table" >

    <p:column sortBy="#{m.provider.name}" headerText="Name">
         <p:commandLink id="name_link" value="#{m.provider.name}" action="#?faces-redirect=true">
              <p:ajax listener="#{dummyController.onLinkClick(m.provider.rowIndex,m.provider.providerType)}"/>                                    
          </p:commandLink>

          <p:overlayPanel appendToBody="true"  for="name_link" dynamic="true" id="panel_for_federal_tax_number_link">
                <custom:dummy_data_table list="#{dummyController.multipleClaimsOnSameDayForAProviderList}">
                </custom:dummy_data_table>
                </p:overlayPanel>
    </p:column>
</p:dataTable>

复合组件:

<composite:implementation>
            <p:dataTable value="#{cc.attrs.list}" var="m">
                <f:facet name="header">Detailed list of multiple claims sent on single date</f:facet>
                <p:column sortBy="#{m.provider.name}">
                    <f:facet name="header">Name</f:facet>
                    <h:outputText value="#{m.provider.name}"/>
                </p:column>
            </p:dataTable>
    </composite:implementation>

什么是正确的解决方案,以便我可以使用自定义组件中的数据表显示正确更新的覆盖面板?

0 个答案:

没有答案