【问题标题】:GXT (Ext-GWT) + Pagination + HTTP GETGXT (Ext-GWT) + 分页 + HTTP GET
【发布时间】:2011-04-20 13:36:29
【问题描述】:

我正在尝试使用从在线 API 检索到的数据填充 GXT 网格(例如,访问 www.example.com/documents 会返回一个 JSON 文档数组)。另外,我需要对结果进行分页。

我已经阅读了所有不同的博客和教程,但其中大多数使用TestData.GetDocuments() 之类的东西填充分页代理。但是,我想使用 HTTP GET 获取该信息。

我已经设法使用 RequestBuilder + 代理 + 阅读器 + 加载器填充了一个网格,但没有分页。但似乎数据的实际加载被“推迟”到 GXT 代码深处的某个隐藏阶段。分页从一开始就需要这些数据,所以我不知道该怎么做。

有人可以提供一个简单的代码示例来满足我的需要吗?

谢谢。

【问题讨论】:

    标签: gwt pagination gxt


    【解决方案1】:

    我设法做到了,这就是我所做的:

    首先我为我的数据定义了代理和加载器以及分页工具包:

    private PagingModelMemoryProxy proxy;
    private PagingLoader<PagingLoadResult<ModelData>> loader;
    private PagingToolBar toolBar;
    

    接下来是每一个的创建,用一个空的ArrayList进行初始化。

    proxy = new PagingModelMemoryProxy(new ArrayList<EquipmentModel>());
    loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy);
    loader.setRemoteSort(true);
    toolBar = new PagingToolBar(100);
    toolBar.bind(loader);
    loader.load(0, 100);
    

    最后,我的视图中有一个 set 方法,当 AJAX 调用完成时会调用它,但您可以在任何地方触发它。这是我的整个set方法,Equipment和EquipmentModel分别是我的数据库和视图模型。

    public void setEquipmentData(List<Equipment> data)
    {
        Collections.sort(data);
    
        // build a list of models to be loaded
        List<EquipmentModel> models = new ArrayList<EquipmentModel>();
    
        for (Equipment equipment : data)
        {
            EquipmentModel model = new EquipmentModel(equipment);
    
            models.add(model);
        }
    
        // load the list of models into the proxy and reconfigure the grid to
        // refresh display.
        proxy.setData(models);
    
        ListStore<EquipmentModel> equipmentStore = new ListStore<EquipmentModel>(loader);
    
        equipmentGrid.reconfigure(equipmentStore, equipmentColumnModel);
        loader.load(0, 100);
    }
    

    对我来说,这里的关键是使用相同的加载器重新创建商店,列模型是预先创建的并且可以重复使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多