2013-02-25 59 views
0

我想創建一個動態Primefaces數據表從一個sql查詢的結果,給我一個List<Object[]>結果。相應的列名稱存儲在List<String>中。Primefaces數據表動態對象[]

字段和Object[]字段的長度應該是動態的。

如何處理數據表中的List<Object[]>

回答

3

使用<p:columns>。另見PrimeFaces <p:dataTable> showcase - dymamic columns

前提是你真正的意思是,你已經在List<Object[]>data並以相同的順序columnNamesList<String>,那麼這應該這樣做:

<p:dataTable value="#{bean.data}" var="item"> 
    <p:columns value="#{bean.columnNames}" var="columnName" columnIndexVar="i"> 
     <f:facet name="header">#{columnName}</f:facet> 
     #{item[i]} 
    </p:columns> 
</p:dataTable> 
+0

嘗試,這將引發以下異常:com.google。 common.collect.ComputationException:java.lang.IncompatibleClassChangeError:FormBeanCall和FormBeanCall $ ColumnModel不同意InnerClasses屬性。我認爲它是因爲他想要一個ColumnModel對象而不是列表的列值! – elnapo 2013-02-25 19:41:43

+1

你的類路徑很髒。清理,重建,重新部署,重新啓動。 – BalusC 2013-02-25 19:46:22

+0

它的工作原理!大Thx! – elnapo 2013-02-25 19:59:43