我需要帮助如何使数据表在primefaces,这将从数据库输出数据在此形式:
第一列||第二列
图片||文字
文本||图片
图片||文字
文本||图片
图片||文字
文本||图片
……
问题是我不知道如何每隔2行改变这个元素的位置
发布于 2016-12-10 23:32:23
你好,这是我提出的处理这个问题的解决方案
第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> // 希望这对你有帮助
https://stackoverflow.com/questions/41069223
复制相似问题