Extjs grid.bindStore()不允许无限滚动-Ext JS
我在Extjs grid.bindStore()不允许无限滚动-Ext JS,extjs,Extjs,我在视图文件夹中定义的网格上使用缓冲存储/无限滚动,而没有定义存储 var grid = Ext.define('MyApp.view.metadata.ResultGrid' ,{ extend : 'Ext.grid.Panel', alias : 'widget.resultgrid', id : 'mygrid', //columns, etc. 然后在Ext.application上用 { xtype: 'res
视图
文件夹中定义的网格上使用缓冲存储/无限滚动,而没有定义存储
var grid = Ext.define('MyApp.view.metadata.ResultGrid' ,{
extend : 'Ext.grid.Panel',
alias : 'widget.resultgrid',
id : 'mygrid',
//columns, etc.
然后在Ext.application上用
{ xtype: 'resultgrid', width: '85%', hidden: true}
然后,在我的控制器中
创建我的存储
var store = Ext.create('Ext.data.Store', {
storeId : 'resultsetstore',
model : model,
buffered : true,
pageSize : itemsPerPage, //50
autoLoad : true,
leadingBufferZone : 100,
remoteSort : true,
//etc.
…然后将我的存储重新配置到该控制器内的网格:
Ext.getCmp('mygrid').reconfigure(store);
Ext.getCmp('mygrid').show();
使用这种方法,记录被加载到我的网格中,但是这些记录被限制在pageSize
范围内,我失去了无限滚动的能力
如果在控制器中创建存储之后立即创建一个随机网格,那么一切都可以正常工作。但是,我希望在自己的文件夹中定义网格,并使用xtype
在我的应用程序中的特定位置(在一堆面板/组件之间)创建网格
这项工作:
var grid = Ext.create('Ext.grid.Panel', {
title : 'Test Data',
loadMask : true,
store : store,
这并不是:
var grid = Ext.create('Ext.grid.Panel', {
title : 'Test Data',
loadMask : true,
//...
});
grid.reconfigure(store)
我不能在我的网格定义中使用第一个方法,因为在用户提交搜索表单之前不会定义存储
有没有办法在自己的文件夹中定义我的网格,使用我的存储,和保持无限滚动功能,而不将所有内容放在一个巨大的文件中?我在我的存储之后实例化了我的网格,然后将其添加到我想要的面板中
var app = Ext.getCmp('my_container');
app.add({
xtype: 'resultgrid', width: '85%', region: 'center', height: 400, collapsible: false, store: store
});