Ext GWT - 使用JSON进行网格分页,将我的所有记录号设置为分页

时间:2012-08-31 12:59:13

标签: json gwt paging gxt

我正在使用Ext GWT。我有一个带分页和JSON的网格。

我不明白,我在哪里可以在分页配置中设置所有记录号。

我的分页网格是错误的,因为它不知道,数据库表中有多少记录。

THX

String path =  GWT.getHostPageBaseURL() + (Examples.isExplorer() ? "" : "../../" ) + "backend/index.php?action=getLines";  

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path);  
HttpProxy<String> proxy = new HttpProxy<String>(builder);  

JsonPagingLoadResultReader<PagingLoadResult<ModelData>> reader = new JsonPagingLoadResultReader<PagingLoadResult<ModelData>>(type);  

final PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy,  
    reader);

[...]

final PagingToolBar toolBar = new PagingToolBar(10);  
toolBar.bind(loader);  

loader.load(0, 10);

1 个答案:

答案 0 :(得分:1)

您的总计数应该在您的请求回复中,并且将成为PagingLoadResult的一部分。我通常不使用任何读者,因此我必须创建自己的PagingLoadResult,这是您传递总计数的时间。通常情况下,我会使用RpcProxy,放弃使用任何读者,并将PagingLoadResult放在RpcProxy中。

@Override
public void load(PagingLoadConfig loadConfig,
        final AsyncCallback<PagingLoadResult<?>> callback) {
    [some async service call](..., new AsyncCallback<String>() {

                @Override
                public void onSuccess(String result) {
                  // Get info from your result and construct paged result
                  PagingLoadResult<?> pagedResult = new ...
                  callback.onSuccess(pagedResult)
                }

                @Override
                public void onFailure(Throwable caught) {
                }

}