GXT(Ext GWT)和#x2B;分页+;HTTP获取

GXT(Ext GWT)和#x2B;分页+;HTTP获取,gwt,pagination,gxt,Gwt,Pagination,Gxt,我试图使用从在线API检索的数据填充GXT网格(例如,访问www.example.com/documents返回一个JSON文档数组)。此外,我需要对结果进行分页 我已经阅读了所有的博客和教程,但大多数都使用类似于TestData.GetDocuments()的内容来填充分页代理。但是,我想使用HTTPGET获取这些信息 我已经使用RequestBuilder+proxy+reader+loader成功地填充了一个网格,但没有分页。但似乎数据的实际加载被“推迟”到GXT代码深处的某个隐藏阶段。分

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

我已经阅读了所有的博客和教程,但大多数都使用类似于
TestData.GetDocuments()
的内容来填充分页代理。但是,我想使用HTTPGET获取这些信息

我已经使用RequestBuilder+proxy+reader+loader成功地填充了一个网格,但没有分页。但似乎数据的实际加载被“推迟”到GXT代码深处的某个隐藏阶段。分页从一开始就需要这些数据,所以我不确定该怎么做

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


谢谢。

我成功地完成了这项工作,以下是我所做的:

首先,我定义了数据的代理和加载程序以及分页工具BAT:

private PagingModelMemoryProxy proxy;
private PagingLoader<PagingLoadResult<ModelData>> loader;
private PagingToolBar toolBar;
私有分页模型MemoryProxy代理;
专用分页加载器;
专用分页工具栏;
下一步是创建每一个,使用空的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);
proxy=new PagingModelMemoryProxy(new ArrayList());
加载器=新的BasePagingLoader(代理);
loader.setRemoteSort(true);
工具栏=新分页工具栏(100);
工具栏绑定(加载程序);
装载机。装载(0,100);
最后,在我的视图中有一个set方法,它在AJAX调用完成时被调用,但是您可以在任何地方触发它。这是我的整套方法,设备和设备模型分别是我的数据库和视图模型

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);
}
public void设置设备数据(列表数据)
{
收集、分类(数据);
//构建要加载的模型列表
列表模型=新的ArrayList();
用于(设备:数据)
{
设备型号=新设备型号(设备);
模型。添加(模型);
}
//将模型列表加载到代理中,并将网格重新配置为
//刷新显示。
proxy.setData(模型);
ListStore equipmentStore=新的ListStore(加载器);
设备网格。重新配置(设备存储、设备列模型);
装载机。装载(0,100);
}
对我来说,这里的关键是使用相同的加载程序重新创建存储,列模型是预先创建的,并得到重用