Javascript 如何限制extjs网格仅显示100行,并提供所有行作为下载?

Javascript 如何限制extjs网格仅显示100行,并提供所有行作为下载?,javascript,extjs,grid,store,Javascript,Extjs,Grid,Store,我有一个可以储存数千张唱片的商店。我不想使用extjs网格的分页功能,而是想将网格限制为仅显示100第一个存储记录,并提供一个链接或按钮,允许用户以制表符分隔的文本文件的形式下载完整的存储数据 有没有办法将网格存储区的数据转换为以制表符分隔的文本文件,并提供给extjs/javascript下载 以下是我正在使用的商店的代码: var resultStore = new Ext.data.Store({ model: 'Result', proxy: { type

我有一个可以储存数千张唱片的商店。我不想使用extjs网格的分页功能,而是想将网格限制为仅显示
100
第一个存储记录,并提供一个链接或按钮,允许用户以制表符分隔的文本文件的形式下载完整的存储数据

有没有办法将
网格
存储区的数据转换为以制表符分隔的文本文件,并提供给
extjs/javascript
下载

以下是我正在使用的商店的代码:

var resultStore = new Ext.data.Store({
    model: 'Result',
    proxy: {
        type: 'ajax',
        url: '../asso_find.pl',
        reader: {
            root: 'data',
            totalProperty: 'totalCount'
        }
    }
});

您是否可以向存储添加一个加载侦听器,然后仅使用该侦听器加载前100条记录。例如:

listeners: {
  load : function (store, records, success, operation, options) {
    store.loadData(records.slice(0, 100))
  } 
}

我已经在一个组合框商店中测试过了,它似乎很有效。这可能是解决方案的一个良好开端,因为这意味着所有记录都在客户端,但网格中只有100条记录。

能否向存储添加加载侦听器,然后仅使用该侦听器加载前100条记录。例如:

listeners: {
  load : function (store, records, success, operation, options) {
    store.loadData(records.slice(0, 100))
  } 
}

我已经在一个组合框商店中测试过了,它似乎很有效。这可能是解决方案的一个良好开端,因为这意味着所有记录都在客户端,但网格中只有100条记录。

您使用什么代理加载数据?只是想一想:为什么不将其限制在服务器端?:)@分子:我使用的是ajax代理。我在问题中添加了我商店的代码@Lionel Chan:如果我已经在服务器端限制它,那么就不可能再下载完整的结果集了。alex,extjs商店在加载数据时正在发送
limit
param。您可以考虑
limit
param来更改服务器脚本。您使用什么代理加载数据?只是想一想:为什么不在服务器端限制它呢?:)@分子:我使用的是ajax代理。我在问题中添加了我商店的代码@Lionel Chan:如果我已经在服务器端限制它,那么就不可能再下载完整的结果集了。alex,extjs商店在加载数据时正在发送
limit
param。您可以考虑
limit
param.Hi-Eoin来更改服务器脚本!我测试了你的代码,它工作了!这无疑使我更接近于解决我的问题!现在唯一缺少的是以tab dilimited格式提供我商店的完整数据集作为下载。他所做的是从返回的记录中加载前100条记录。您可能只想将记录存储在另一个变量中,并在以后生成数据时使用它。@Lionel是正确的。如果要使用整个resultset,则需要将其存储在变量中以供以后使用。但是,我不确定如何在javascript中生成可下载的制表符分隔文本文件。你试过这个分机吗。嗨,伊欧!我测试了你的代码,它工作了!这无疑使我更接近于解决我的问题!现在唯一缺少的是以tab dilimited格式提供我商店的完整数据集作为下载。他所做的是从返回的记录中加载前100条记录。您可能只想将记录存储在另一个变量中,并在以后生成数据时使用它。@Lionel是正确的。如果要使用整个resultset,则需要将其存储在变量中以供以后使用。但是,我不确定如何在javascript中生成可下载的制表符分隔文本文件。你试过这个分机吗。