2015-09-25 102 views
0

我正在尋找一種方法來顯示jsf primefaces數據表組件中列(而不是行)的數據集合。 例如,我有一個名爲User的bean,我想要顯示一個用戶在primefaces數據表中的列表:每個用戶顯示在一個單獨的列中,每個屬性(姓名,...)在單獨的行中。 你知道這是否可以使用數據表? 感謝您的回答。Primefaces數據表按列顯示數據

+0

爲什麼不使用電話號碼:的數據網格? http://www.primefaces.org/showcase/ui/data/dataGrid.xhtml – Fritz

+0

這不可能直接使用數據表。但是,如果您自己調換數據,那很容易。但是,對於4或5個用戶來說,閱讀成爲一場噩夢。所以'p:datagrid'更容易 – Kukeltje

+0

[翻轉dataTable primefaces]的可能重複(http://stackoverflow.com/questions/38582010/flipped-over-datatable-primefaces) – Kukeltje

回答

1

我認爲Primefaces dataTable不能滿足您的要求。如果要以橫向格式顯示數據,可以使用兩個嵌套的<ui:repeat>循環。我會舉一個基本的例子。您可以完善它根據您的要求:

<h:outputText value="Landscape Tabular Data Representation" /> 
<table> 
<tbody> 
<ui:repeat value="#{yourBean.fields}" var="field" > 
    <tr> 
     <th style="padding:.4em; background-color:#AFEEEE; border: .3em solid #FFFFFF;"> 
      <h:outputText value="#{field}" /> 
     </th> 

     <ui:repeat value="#{yourBean.items}" var="item"> 
      <td style="padding:.4em; background-color:#E0FFFF; border: .3em solid #FFFFFF;"> 
       <h:outputText value="#{item[field]}" /> 
      </td> 
     </ui:repeat> 
    </tr> 
</ui:repeat> 
</tbody> 
</table> 

注:yourBean.fields是一家集與item屬性名稱。您可以手動填充它或使用Apache Commons BeanUtils或類似名稱來獲取名稱。如果需要,您也可以創建自己的風景表複合組件。

這是示例輸出:

enter image description here