没有RPC代理的GXT分页

时间:2011-07-13 09:17:52

标签: java gxt

知道如何在GXT中没有RPCProxy的情况下实现正确的分页吗?我目前正在设置加载器:

final PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(null);

store = new ListStore<T>(loader);

然后将商店传递给网格构造函数。 现在,如果我在构造函数中设置null而不是代理,我的pagingToolbar就会冻结并禁用,并显示看似加载圈的内容。

我在这里阅读了http://www.sencha.com/forum/showthread.php?61780-Pagination-without-RPC中的想法,但任何人都可以更明确地了解如何实现这一点吗?

我正在创建网格,然后添加数据,我正在使用RequestFactory,因此不需要RCPProxy。

1 个答案:

答案 0 :(得分:4)

您可以实现DataProxy接口并使用自定义数据获取方法:

    BasePagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(new DataProxy<PagingLoadResult<ModelData>>() {

        @Override
        public void load(DataReader<PagingLoadResult<ModelData>> reader,
                Object loadConfigAsObject, AsyncCallback<PagingLoadResult<ModelData>> callback) {

            BasePagingLoadConfig loadConfig = (BasePagingLoadConfig) loadConfigAsObject;

            // Get the results for the requested page...

            BasePagingLoadResult<ModelData> pagingLoadResult = new BasePagingLoadResult<ModelData>(...);
            callback.onSuccess(pagingLoadResult);
        }
    });