2012-01-15 26 views
1

我想要使用集合內的值(無論什麼類型,HashMap,TreeMap),以填充ICEfaces數據表組件並顯示對象屬性。我能找到的唯一例子就是將Map的值簡單地導出到List集合中,並用它來填充數據表。但是,我覺得這是非常浪費的,我現在被迫維持兩個精確值的集合。如何使用Map集合與ICEfaces數據表組件

數據表組件是否支持迭代Map值?如果沒有,那麼有沒有更好的辦法解決這個問題呢?

爲了好奇,我想使用Map集合來快速刪除,並且最自然地適合我的數據(基於鍵)。

回答

1

值得一試:

我發現了以下解決方案:JSF: Using Map data in Datatable,在URL中的例子是指RichFaces的,但在我看來,所有你需要做的是利用ICEfaces的標籤,如果你的LinkedHashMap它可能會使用幫助你的命令......

在情況下URL變壞,這裏是代碼:

Map<String,String> myMap; 

public List<String> getMapKeys(){ 
    List<String> ret = new ArrayList<String>(); 
    for (String s : myMap.keySet()) 
     ret.add(s); 
    return ret; 
} 

在JSF頁面:

<rich:extendedDataTable value="#{myBean.mapKeys}" var="item" 
    id="datatable"> 
    <rich:column width="190px" sortable="false" label="Map entries" 
     id="labelColumn"> 
     <f:facet name="header">Map entries</f:facet> 
     <h:outputText value="#{myBean.myMap[item]}" /> 
    </rich:column> 
    </rich:extendedDataTable> 
+0

這應該工作,我不關心訂單。我明天會試一試,如果它有效,我一定會接受答案。謝謝! – Neeko 2012-01-15 22:06:08

相關問題