2011-06-19 33 views
0

我使用h:datatable顯示數據庫表中的值,一個tupple顯示在jsf頁面的一行中,但我想顯示jsf頁面的單獨行中的每個字段。我怎樣才能做到這一點?顯示h:不同行中的列

在此先感謝。

我在jsf頁面中有以下代碼。

<h:dataTable value="#{tableBean.pc}" var="p"> 

<h:column> 
    <h:graphicImage value="/resources/images/#{p.pimagename}" /> 
</h:column> 

<h:column> 
    <h:outputText value="#{p.pname}" /> 
</h:column> 

<h:column> 
    <h:outputText value="#{p.pprice}" /> 
</h:column> 

<h:column> 
    <h:outputText value="#{p.pqtyavail}" /> 
</h:column> 

</h:dataTable> 
+0

有些代碼會有幫助:) – kinkajou

回答

1

要麼改變你的數據模型,讓你擁有所有元組領域的一維List一個條目:

List<List<String>> tuples = getItSomehow(); 
List<String> fields = new ArrayList<String>(); 

for (List<String> tuple : tuples) { 
    fields.addAll(tuple); 
} 

,並用它來代替。

<h:dataTable value="#{bean.fields}" var="field"> 
    <h:column>#{field}</h:column> 
</h:dataTable> 

或者,使在HTML <br/>元件把每個元組字段中一個單獨的行中的單個列。

<h:dataTable value="#{bean.tuples}" var="tuple"> 
    <h:column>#{tuple[0]}<br/>#{tuple[1]}<br/>#{tuple[2]}</h:column> 
</h:dataTable>