2013-04-28 67 views
0

我使用<p:dataTable>來顯示我的文件的值。每個文件的內部是一個元件列表。我想將每個元數據顯示爲文件其他列旁邊的自己的列。 (我排除了其他列以使代碼更易讀)。p:dataList裏面的dataList

所以,我的問題是,與<p:dataList>它不顯示列。元的名稱在每個元數據中都是相同的,如果有人認爲這是問題。

我已經嘗試過使用<p:dataTable>代替<p:dataList>,但我的客戶本來想有顯示爲自己的專欄這不會是我的首選方式的元數據,但在另一方面,它是工作。

<p:dataTable id="fileList" var="f" value="#{reader.files}" rendered="#{reader.showFileTable()}"> 
    <p:dataList value="#{f.meta}" var="meta1"> 
     <p:column> 
      #{meta1.value} 
     </p:column> 
    </p:dataList> 

    <p:column headerText="Metadaten"> 
     <p:dataTable value="#{f.meta}" var="meta"> 
      <p:column headerText="#{meta.name}"> 
       #{meta.value} 
      </p:column> 
     </p:dataTable> 
    </p:column> 
</p:dataTable> 

我的任何幫助,我怎麼可能使代碼工作,使每個metadate有它在fileList-dataTable自己的專欄真的很感激。

P.S:我已經試過c:forEachui:repeat這也沒有工作。

P.P.S:我忘了提及,我的客戶有時不想看到特定的元件,所以如果可以用建議的解決方案來做到這一點,那將會非常好。

回答

1

您可以通過使用<p:columns>標籤中primefaces建立動態欄看到vdl

檢查primefaces showcase爲例

+0

列可以隱藏一個特定列嗎?因爲我的客戶不時要隱藏一些元數據,如果他不可能這樣做,這將是一個很大的缺點。 例如:我有元數據「Year」,「Customer」和「Ordernumber」。我只想顯示其中的2個 - 是否可以使用列的「呈現」值來顯示2? 因爲我不想在我的文件中使用元字符,所以在每個文件內部創建第二個列表的意義上,它顯示了應該顯示的元日期。 – 2013-04-28 10:23:15

+0

@TsukiShimizu,稍微調整一下,我相信你可以排序:)。 ''所需要的是一個列表來構建列。因此,限制將其納入清單並解決問題 – kolossus 2013-04-28 20:54:36

0

假設你有這樣的代碼:嵌套

<p:dataList id="fileList" var="f" value="#{reader.files}"> 
    <p:dataTable value="#{f.listItems}" var="meta1"> 
     <p:column>#{meta1.value}</p:column> 
     <p:columns value="#{meta1.listItems}">...</p:columns> 
    </p:dataTable> 
</p:dataList> 

動態列dataTable不會生成:似乎p:列不能像「f」和「meta1」那樣引用var。 我可以理解,「meta1」是不可見的,因爲它產生的標題的表,但我真的不明白爲什麼當時「f」不可見。

有什麼想法?謝謝。

相關問題