2012-07-14 28 views
-1

我想填充一個DataTable,該列表由一個原生sql查詢結果填充。PrimeFaces使用列表填充DataTable <Object[]>

對象數組定義每個列的值,對於expample Object [0]是第一列的值。

我的數據表上是這樣的

<p:dataTable id="dataTable1RQ" var="item" value="#{reportQuestionMBean.dataTable}"> 
    <p:column id="modelHeader"> 
     <f:facet name="header"> 
       Market 
     </f:facet> 
     <h:outputText value="#{reportQuestionMBean.market.name}" /> 
    </p:column> 
    <p:column> 
     <f:facet name="header"> 
       Form 
     </f:facet> 
     <h:outputText value="#{reportQuestionMBean.form.name}" /> 
    </p:column> 
    <p:column> 
     <f:facet name="header"> 
       Question 
     </f:facet> 
     <h:outputText value="#{item}" /> 
    </p:column> 
</p:dataTable> 

我要填寫列「問題」,但我不能達到在列表中的對象數組的索引。如果它是一類特殊的對象,而不是[],它會很容易通過實現這樣

<h:outputText value="#{item.name}" /> 

來填補,但事實並非如此。所以如果你知道如何到達列表中的數組的索引,你的幫助將使我精確。

謝謝。

+3

您是否嘗試過'#{項目[0]}'? – 2012-07-14 16:12:27

回答

4

您可以使用EL中的括號記號[]來通過索引訪問數組項。

所以,這應該做

<h:outputText value="#{item[0]}" /> 
+0

當我做value =「#{item [2]}」時它工作,因爲Question列是第3列。謝謝。 – 2012-07-15 12:27:33