Extjs3.4从网格存储中获取超过1页的所有数据

Cha*_*ang 3 extjs extjs3

如何从网格中获取超过1页的所有数据?

我只设置在页面中显示50条记录,但我的总数据最多为52条记录,存储为2页.


在此输入图像描述

我可以知道如何从这2页获取所有数据吗?

以下是只能获得1页数据的代码......

ExportButtonTestJS = Ext.extend(One.Report, {
    reportName: 'ExportButtonTestRpt',
    autoExecute: true,
    isDetailPage: false,
    listeners: {
        bbarconfig: function(report, bbarConfig) {
          bbarConfig.items.push({
            xtype: 'button',
            text: 'Export',
            disabled: false,
            onClick : function () {
                console.log(report.grid.getStore().data.items);
                }
          });
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

Siv*_*mar 6

Ext.data.store的默认页面大小为50.因此,即使存储中的数据超过50条记录(例如400条记录),任何时候只有50条记录将存储在Ext.store中.一旦我们转到下一页,下一个记录将从51到100条记录存储在商店中.

满足您要求的两种解决方案

  1. 根据需要增加pageSize - 例如: pageSize:500
  2. buffered:true在Ext.data.store中设置

在设置时buffered:true,您可以使用一次获取商店的所有记录grid.store.getRange(start, end).但在这种情况下,您需要首次加载商店一次.