Primefaces 5:使用两列数据表查看数据

时间:2016-04-29 14:00:16

标签: jsf jsf-2 primefaces datatable

我在Glassfish服务器4.1上使用Primefaces 5和JDK 1.8。

我创建了一个带有以下结构()的页面xhtml:

<p:dataTable value="#{myBean.myList}" ...>
    <p:column>MyLabel</p:column>
    <p:column>MyImage</p:column>
    <p:column>MyDescription</p:column>
</p:dataTable>

所以我在输出中看到一个包含3列的表:

label, image and description
label, image and description
label, image and description
label, image and description
label, image and description
label, image and description
...
我的bean的

对象 myList 返回我页面上显示的大约50行。 如何在2列上查看此行?有点像:

label, image and description           label, image and description
label, image and description           label, image and description
label, image and description           label, image and description

感谢。

2 个答案:

答案 0 :(得分:0)

定义一个辅助类,它将两个实体包装在一个对象中:

public class DoubleItem{

    private String label;
    private String imageUrl;
    private String description;

    private String label2;
    private String imageUrl2;
    private String description2;

    //Getters & setters

}

然后在您的托管bean初始化中,您将当前列表转换为List<DoubleItem>,因此您可以在视图中迭代它:

<p:dataTable value="#{myBean.doubleItemList}" var="doubleItem">
    <p:column>#{doubleItem.label}</p:column>
    <p:column>#{doubleItem.imageUrl}</p:column>
    <p:column>#{doubleItem.description}</p:column>
    <p:column>#{doubleItem.label2}</p:column>
    <p:column>#{doubleItem.imageUrl2}</p:column>
    <p:column>#{doubleItem.description2}</p:column>
</p:dataTable>

答案 1 :(得分:0)

你应该放入datagrid。

   <p:dataGrid value="#{myBean.myList}" columns="3" layout="grid" paginator="true" ...>
    <p:column>MyLabel</p:column>
    <p:column>MyImage</p:column>
    <p:column>MyDescription</p:column>
   </p:dataGrid>

https://www.primefaces.org/showcase/ui/data/dataGrid.xhtml