與其使用Bean模型對象,我的數據模型構建在HashMap容器中的Key-Value對上。GXT網格ValueProvider/PropertyAccess爲地圖<K,V>數據存儲?
有沒有人有一個GXT的網格ValueProvider和PropertyAccess的例子,將與基礎地圖工作?
與其使用Bean模型對象,我的數據模型構建在HashMap容器中的Key-Value對上。GXT網格ValueProvider/PropertyAccess爲地圖<K,V>數據存儲?
有沒有人有一個GXT的網格ValueProvider和PropertyAccess的例子,將與基礎地圖工作?
它沒有一個內置的,但它很容易建立自己的。看看這個博客文章的思考類似,特別是ValueProvider部分:http://www.sencha.com/blog/building-gxt-charts
ValueProvider
的目的是一個簡單的類似於反射的機制來讀取和寫入某些對象的值。然後PropertyAccess<T>
的目的是自動生成一些基於getter和setter的value/modelkey/label提供程序實例,這些實例在Java Bean(一種非常常見的用例)中找到。它沒有太多的複雜性,只是簡單地讓編譯器爲你做一些非常簡單的樣板代碼。
正如該博客文章所示,只需通過實現接口即可輕鬆構建ValueProvider。下面是一個快速示例,說明如何製作一個讀取Map<String, Object>
的文章。當您創建的每個實例,你告訴它你工作過的哪個鍵,以及數據類型時,它所讀出該值應該發現:
public class MapValueProvider<T> implements
ValueProvider<Map<String, Object>, T> {
private final String key;
public MapValueProvider(String key) {
this.key = key;
}
public T getValue(Map<String, Object> object) {
return (T) object.get(key);
}
public void setValue(Map<String, Object> object, T value) {
object.put(key, value);
}
public String getPath() {
return key;
}
}
你再建下列內容之一,你希望每個關鍵讀出來,並且可以將它傳遞給ColumnConfig
實例或任何可能期望它們的內容。
但主要的是,ValueProvider
只是一個接口,可以任何你喜歡的方式實現。
非常好!非常感謝 – Stevko