本文介绍了ui:repeat + p:datatable问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过 ui:repeat 显示多个 p:datatable ,以下代码片段说明了我做:

I displaying multiple p:datatable 's through ui:repeat, the following code snippet illustrates what I am doing:

<ui:repeat id="searchTables"
    value="#{searchBean.mapKeys}"
    var="mapKeys">
         <p:dataTable id="recordTable"
            value="#{searchBean.resultMap[mapKeys].resultList}"
            var="recordTable"
            paginator="true"
            rows="10">
                 <f:facet name="header">
                      <h:outputText value="#{searchBean.resultMap[mapKeys].name}"/>
                 </f:facet>
                    <p:columns value="#{searchBean.resultMap[mapKeys].resultColumns}"
                               var="column"
                               columnIndexVar="colIndex">
                        <f:facet name="header">
                            <p:outputPanel>
                                #{column.header}
                            </p:outputPanel>
                        </f:facet>
                        <h:outputText value="#{recordTable[column.property]}"/><br/>
                    </p:columns>
         </p:dataTable>
 </ui:repeat>

我需要每个单独的datatable拥有自己的分页符,但是当我的页面只显示第一个datatable获取分页符,此分页器控制所有其他显示的DataTables页面。

I need each individual datatable to have its own paginator, however when my page is displayed only the first datatable gets the paginator and this paginator controls all the other displayed DataTables pages..

感谢您的关注!

推荐答案

我发现的唯一方法是使用两个p:datatable标签,父对象只有一列。我不能使其与p:dataList一起使用。我猜p:dataList正在扩展相同的虚假类。

The only way I found was to use two p:datatable tags, the parent one with only one column. I couldn't make it work with p:dataList. I guess p:dataList is extending the same bogus class.

应该使用这个:

<p:datatable id="searchTables"
    value="#{searchBean.mapKeys}"
    var="mapKeys">
    <p:column>
         <p:dataTable id="recordTable"
            value="#{searchBean.resultMap[mapKeys].resultList}"
            var="recordTable"
            paginator="true"
            rows="10">
                 <f:facet name="header">
                      <h:outputText value="#{searchBean.resultMap[mapKeys].name}"/>
                 </f:facet>
                    <p:columns value="#{searchBean.resultMap[mapKeys].resultColumns}"
                               var="column"
                               columnIndexVar="colIndex">
                        <f:facet name="header">
                            <p:outputPanel>
                                #{column.header}
                            </p:outputPanel>
                        </f:facet>
                        <h:outputText value="#{recordTable[column.property]}"/><br/>
                    </p:columns>
         </p:dataTable>
    </p:column>
 </p:dataTable>

这篇关于ui:repeat + p:datatable问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 14:14