我正在尝试使用ExtJS 5中的分页工具栏实现网格。我得到了第一页数据,但是当推进网格时不会更新新数据。
似乎没有使用新的起始值更新data.asp页面以更新记录集的.AbsolutePosition属性。因此网格不断显示第一页信息。
我的代码如下......
var gridStore = Ext.create('Ext.data.JSonStore', {
autoLoad: false,
fields: [
{name: 'field1', type: 'int'},
{name: 'field2', type: 'int'}
],
pageSize: 25,
proxy: {
type: 'ajax',
url: 'Data.asp',
reader: {
type: 'json',
rootProperty: 'rows',
totalProperty: 'totalCount',
}
}
});
gridStore.load({
params: {
start: 0,
limit: 25
}
});
grid = Ext.create('Ext.grid.Panel', {
renderTo: 'grid-Spec',
store: gridStore,
columns: [
{text: 'Field 1', width: 10, sortable: true, dataIndex: 'field1'},
{text: 'Field 2', width: 10, sortable: true, dataIndex: 'field2'}
],
height: 100,
width: 20,
selModel: { mode: 'SINGLE' },
dockedItems: [{
xtype: 'pagingtoolbar',
store: gridStore,
dock: 'bottom',
displayInfo: true
}]
});
答案 0 :(得分:0)
您的代码有一些拼写错误,但一般情况下它看起来不错。
问题可能出在服务器端 - 使用ajax代理时,必须在服务器端实现分页。如果您已在服务器端实施分页,请使用一些开发人员工具(例如在Chrome中)并查看是否正确提交了页码。您应该在地址中看到开始/页码(例如:http://fiddle.jshell.net/echo/json/?_dc=1410854522824&page=2&start=5&limit=5)。
我制作了小提琴:http://jsfiddle.net/seur2aLx/9/您可以将您的代码与我的代码进行比较(请注意,Ext.ux.data.reader.Json
仅用于伪造某些网格数据)。