Ext JS 4.2中的分页内存代理等效技术是什么?

4
在Ext JS 3.x版本中,我有一个存储器,其中包含一个json代理来从服务器获取完整的数据集,然后我将该存储器用作带有PagingMemoryProxy的存储器中的读取器,原始存储器作为读取器为网格面板提供分页数据。
JSON存储器:-
var fleetReader = new Ext.data.JsonReader({
      root:'results',
      successProperty:'success',
      totalProperty:'total',
      idProperty:'vid'
    },
    fleetRec
);

var fleetDs = new Ext.data.Store({
  proxy: new Ext.data.ScriptTagProxy({
    url: 'request/getfleet',
    timeout: 10000
  }),
  reader:fleetReader
});

然后我按照以下方式创建了该商店的分页版本:-
fleetPagedDs = new Ext.data.Store({
    proxy: new Ext.ux.data.PagingMemoryProxy(fleetDs.reader.jsonData),
    reader: fleetDs.reader,
    remoteSort: true
});

有人能告诉我如何在ExtJS 4中实现这个的等效功能吗?
谢谢。

我也在寻找同样的东西。你能让它工作了吗? - Lorenz Meyer
1个回答

0

你是在寻找Ext.ux.data.PagingMemoryProxy吗?

引自Sencha文档:

Paging Memory Proxy允许使用内存数据集来进行分页表格的操作。


不完全是,我想在基于Json代理存储的后面搭载一个PagingMemoryProxy存储,这样我就不需要每次从服务器重新读取数据了。 - csl-dev
2
你不需要第二个存储。只需使用 Ext.Ajax.request 进行数据请求,然后使用 store.loadData 手动加载存储即可。 - Eric
谢谢您的建议。也许只是我自己的问题,但使用Ext.Ajax.request中的数据调用store.loadData会将整个数据集填充到存储器中,而不是遵守start/limit属性,并且不会触发存储器上的load事件。后者不是太大的问题,但前者是一个问题。 - csl-dev
所以如果我理解你的意思正确的话,你基本上想要将你的分页请求发送到服务器,但是在PagingMemoryProxy中缓存每个页面,而不是每次都回调? - Eric
2
不,我想向服务器发出一个请求,获取完整的数据集,并在客户端内存中保存。然后对该内存中的客户端数据集进行分页请求。这就是上面代码中使用先前版本的extjs实现的内容,效果非常好。 - csl-dev
@csl-dev,你找到了内存分页的解决方案吗? - webdevbyjoss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接