Extjs4 ExtJS 4.2网格分页
我希望对通过web服务接收数据的网格面板进行客户端分页,但我不确定如何继续 这是到目前为止我的代码。分页工具栏显示正确的页数,但是,所有结果都显示在第一页中。在页面中前进和后退没有任何区别 模型 贮藏 网格面板Extjs4 ExtJS 4.2网格分页,extjs4,extjs4.2,Extjs4,Extjs4.2,我希望对通过web服务接收数据的网格面板进行客户端分页,但我不确定如何继续 这是到目前为止我的代码。分页工具栏显示正确的页数,但是,所有结果都显示在第一页中。在页面中前进和后退没有任何区别 模型 贮藏 网格面板 Ext.define('MCS.view.task.myGrid', { extend: 'Ext.grid.Panel', alias: 'widget.myGrid', store: 'task.myStore', columns: [], dockedItems: [
Ext.define('MCS.view.task.myGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.myGrid',
store: 'task.myStore',
columns: [],
dockedItems:
[
{ xtype: 'myToolbar',
dock: 'top',
},
{ xtype: 'pagingtoolbar',
dock: 'bottom',
displayMsg: '{0} - {1} of {2}',
emptyMsg: 'No data to display',
store: 'task.myStore'
}
],
initComponent: function ()
{
this.columns =
[
{ text: 'Case ID', dataIndex: 'Case_ID' },
{ text: 'Business Partner Name', dataIndex: 'BP_Name' },
{ text: 'Project', dataIndex: 'Project' }
];
this.callParent();
}
});
我个人没有分页本地数据的经验,但分页工具栏的Ext docs有一些信息和链接,您可能会发现它们很有用 在页面中搜索“使用本地数据分页”以查找我所指的部分。该部分的右下方是评论链接。单击该按钮展开注释并通读这些注释 我希望这能有所帮助。祝你好运
Ext.define('Crm.store.Companies', {
extend: 'Ext.data.Store',
requires: 'Crm.model.Company',
model: 'Crm.model.Company',
autoLoad: {start: 0, limit: 5},
pageSize: 5,
remoteSort: true,
sorters: [{
property : 'name',
direction: 'asc'
}],
proxy: {
type: 'rest',
url : 'service/companyList/json',
reader: {
type: 'json',
root: 'companyList',
totalProperty: 'total'
}
}
});
这可能会有点晚,但始终要确保在服务器端处理分页,分页工具栏将向脚本发送开始和限制参数;因此,脚本必须确保它根据这些参数获取数据
<?php
$start = $_GET['start'];
$limit = $_GET['limit'];
$sql = "SELECT * FROM table limit $start,$limit;
?>
这可能会帮助您解决此问题。见公认的答案。
Ext.define('Crm.store.Companies', {
extend: 'Ext.data.Store',
requires: 'Crm.model.Company',
model: 'Crm.model.Company',
autoLoad: {start: 0, limit: 5},
pageSize: 5,
remoteSort: true,
sorters: [{
property : 'name',
direction: 'asc'
}],
proxy: {
type: 'rest',
url : 'service/companyList/json',
reader: {
type: 'json',
root: 'companyList',
totalProperty: 'total'
}
}
});
Ext.define('School.model.Student',
{
extend : 'Ext.data.Model',
idProperty : 'Id',
fields: [
{ name: 'Id', type: 'int', defaultValue: 0 },
{ name: 'firstName', type: 'string' },
{ name: 'middleName', type: 'string' },
{ name: 'lastName', type: 'string' },
{ name: 'birthDate', type: 'date' },
{ name: 'address1', type: 'string' },
{ name: 'address2', type: 'string' },
{ name: 'city', type: 'string' },
{ name: 'state', type: 'string' }
],
validations : [{
type : 'presence',
field : 'firstName'
}],
proxy :
{
type : 'ajax',
api :
{
read: '/ExampleService.svc/studentswithpaging/'
},
reader :
{
type : 'json',
root : 'Students',
totalProperty : 'TotalCount'
}
}
});
<?php
$start = $_GET['start'];
$limit = $_GET['limit'];
$sql = "SELECT * FROM table limit $start,$limit;
?>