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

问题描述 投票:1回答:2

我在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

谢谢。

jsf jsf-2 primefaces datatable
2个回答
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>

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

© www.soinside.com 2019 - 2024. All rights reserved.