我正在尝试将商店的pageSize限制为1.我在网格中有10个项目,而分页机制正确显示10个中的1个,10个中的2个等,网格仍然显示所有10个项目。我也尝试在json中将“total”属性返回到1,但这仍然不起作用。有什么想法吗?
文档中的示例不是非常有用,因为它显示了源代码,但实时预览为空。
var photos = new Ext.data.Store({
model: 'Photos',
autoLoad: true,
pageSize: 1
});
var photosGrid = Ext.create('Ext.grid.Panel', {
id: 'PhotoGrid',
store: photos,
columns: [
{ text: "Filename", width: 200, dataIndex: 'filename' }
],
dockedItems: [{
xtype: 'pagingtoolbar',
store: photos,
dock: 'bottom',
displayInfo: true
}],
region: 'center',
border: 0,
overCls: 'row-pointer'
});
答案 0 :(得分:1)
嘿,你的问题是你可能正在返回你的json中的所有10个项目,页面支持你必须自己实现,所有的分页正在做的是调用商店的负载,具有特定的参数,如页面的限制和页面开始索引。您必须在后端使用这些参数一次发送一个项目。 Chers mate。
修改强>
//this is the model we will be using in the store
Ext.define('Page', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
]
});
var data = null;
var store = null;
Ext.Ajax.request({
url: 'someurl',
success: function(result){
data = Ext.decode(result.responseText);
store = Ext.create('Ext.data.Store', {
autoLoad: true,
model: 'Page',
pageSize: 1,
data : data,
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'pages'//this has to be as the root from your json
}
}
});
}
});
答案 1 :(得分:0)
在脚本中格式化json是一个查询问题。
当你使用带有pageSize的extjs时,它会发送带参数的查询(page
& limit
,我记得)。
在服务器端脚本中,您必须检查它们是否存在,如果存在,请更改查询以添加limit
子句(或其他数据库中的等效项)。