我需要有关如何在primefaces中创建数据表的帮助,这将以这种形式从数据库输出数据:
问题在于我不知道如何在每第二排改变这些元素的位置
答案 0 :(得分:0)
嗨,这是我建议处理这个问题的解决方案
第1步:创建一个可以处理信息的对象
这个对象将由三个信息组成:
1- info1:String
2- info2:String
3- info3:Boolean
我们使用String
因为我们必须处理的信息必须是String
您可以将其用作text
并将其用作url
图片。
第2步:合并两个列表
如果两个列表的大小相同,则只能合并这两个列表
Boolean verifie = Boolean.TRUE ;
int size = listofText.size(); // they have the same size it means you can use the listofImageUrl
List<object> listofCombineObject = new Arraylist<>();
for( int i = 0 , i < size , i++ ){
if(verifie){
Object o = new Object();
o.setinfo1(listofText.get(i));
o.setinfo2(listofImageUrl.get(i));
o.setinfo3(verifie);
verifie = Boolean.FALSE ;
}else{
Object o = new Object();
o.setinfo1(listofText.get(i));
o.setinfo2(listofImageUrl.get(i));
o.setinfo3(verifie);
verifie = Boolean.TRUE;
}
}
第3步:在dataTable
中使用rendred显示您的列表
<p:dataTable value="#{ManagedBean.listofCombineObject }" var="object" ...>
<p:column >
<h:outputText value="#{object.info1}" rendred="#{object.info3}"/>
<p:graphicImage id="image" name="#{object.info2}" rendred="#{!object.info3}" >
</p:graphicImage>
</p:column>
<p:column >
<h:outputText value="#{object.info1}" rendred="#{!object.info3}"/>
<p:graphicImage id="image" name="#{object.info2}" rendred="#{object.info3}" >
</p:graphicImage>
</p:column> //
希望能帮到你