如何将GXT网格值放入Map

时间:2013-06-05 07:51:23

标签: gwt grid gwt2 gxt

我想在HashMap中保存网格标题和col数据。

Map<String,List<String>> gridData = new HashMap<String,List<String>>(); // key ->header , value -> list of col



    ColumnModel<RiaBean> columnModel = grid.getColumnModel();
    for (int colonne = 0; colonne < columnModel.getColumnCount(); colonne++) {
        String header= columnModel.getColumnHeader(colonne).toString();

    /* missing code 
        **i have header name how to get the list of values of that header**
    */

    gridData.put(header,list<>)

我缺少代码部分我希望得到相同标题的所有值的列表

请帮忙。

1 个答案:

答案 0 :(得分:1)

首先,您必须为所有列分配ID,如下所示

ColumnConfig xyz = new ColumnConfig();
xyz.setId("xyz");
xyz.setHeader("xyz");

ColumnConfig abc = new ColumnConfig();
abc.setId("abc");
abc.setHeader("abc");

比必须使用以下代码从网格中获取所有记录

之后
Map<String,List<String>> gridData = new HashMap<String,List<String>>(); 

List<String> xyzList = new ArrayList();
List<String> abcList = new ArrayList();

for (ColumnConfig column : grid.getColumnModel().getColumns()) {
   for (DatastoreConfig datastoreConfig : grid.getStore().getModels()) {
         if(column.getId().equals("xyz")){
               xyzList.add(datastoreConfig.get(column.getId()).toString());
         }

         if(column.getId().equals("abc")){
               abcList.add(datastoreConfig.get(column.getId()).toString());
         }
     }
 }

gridData.put("xyz",xyzList);
gridData.put("abc",abcList);
希望它会对你有所帮助。