我对extjs比较陌生.我遇到了一个我无法解决的问题.我一直在网上搜索但无法找到答案.感谢任何帮助.
在我的代码中,我试图为网格上显示的数据添加分页.代码对服务器进行ajax调用以获取数据.服务器发送的数据超出了需要.因此,客户端提取响应文本的一部分(json),并将其显示在网格面板中.
网格显示数据正常.但是分页不起作用.它总是显示"0页0"和"无数据显示".
但是,如果我用硬编码数据替换数据,并使用硬编码数据创建存储和网格,则分页有效.因此,在创建商店和网格时,我似乎已经拥有了数据.
这是简化的代码.使用myStore1/myData1(硬编码数据)时,分页工作正常.将myStore1和myData1替换为从服务器检索数据后加载的myStore2和myData2,分页不起作用.
我在网上看到的所有例子都涉及硬编码数据......欣赏任何洞察力或指针.
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', 'ext-4.1.1/examples/ux');
Ext.require('Ext.ux.data.PagingMemoryProxy');
Ext.application({
name: 'MS GUI',
launch: function() {
main();
}
});
function main() {
itemsPerPage = 2;
// hardcoded data
myData1 = [{'xxx':'a1','yyy':'b1','zzz':'c1'},
{'xxx':'a2','yyy':'b2','zzz':'c2'},
{'xxx':'a3','yyy':'b3','zzz':'c3'},
{'xxx':'a4','yyy':'b4','zzz':'c4'}];
// data to be loaded after the ajax call
myData2 = [];
// define model
Ext.define('QueryResultModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'xxx', type: 'string'},
{name: 'yyy', type: 'string'},
{name: 'zzz', type: 'string'}
});
// define store1
myStore1 = Ext.create('Ext.data.Store', {
model: …Run Code Online (Sandbox Code Playgroud)