Extjs4 Ext Js分页不适用于ExtDirect网格面板
这是我的帖子,我在这个区域发布了分页的实际问题。 你可以从这条线索上帮助我 森查论坛Extjs4 Ext Js分页不适用于ExtDirect网格面板,extjs4,gridpanel,ext-direct,Extjs4,Gridpanel,Ext Direct,这是我的帖子,我在这个区域发布了分页的实际问题。 你可以从这条线索上帮助我 森查论坛 下面是一个示例,说明了您的存储和示例结果应如何进行,以便分页工作符合要求 商店应该如下所示 var myStore = Ext.create('Ext.data.Store', { fields: [ {name: 'firstName', type: 'string'}, {name: 'lastName', type: 'string'} ], proxy: { ty
下面是一个示例,说明了您的存储和示例结果应如何进行,以便分页工作符合要求 商店应该如下所示
var myStore = Ext.create('Ext.data.Store', {
fields: [
{name: 'firstName', type: 'string'},
{name: 'lastName', type: 'string'}
],
proxy: {
type: 'ajax',
url: '/users.json',
reader: {
type: 'json',
root: 'records',
totalProperty: 'recordCount',
successProperty: 'success'
}
}
});
服务器的结果应该是
{
recordCount: 63,
records: [
{
id: 944,
firstName: "Shannon",
lastName: "Joy"
},
{
id: 1819,
firstName: "Remi"
lastName: "Lucas"
},
.......
}
最后我从论坛上得到了答案 我的商店
var store = Ext.create('Ext.data.Store', {
model : 'Users',
remoteSort : true,
autoLoad : true,
pageSize: 5, // items per page
sorters : [{
property : 'name',
direction : 'ASC'
}],
proxy : {
type : 'direct',
directFn : 'Users.showAllUsers',
reader: {
root: 'users'
}
}
});
我的PHP函数
function showAllUsers($params)
{
$sort = $params->sort[0];
$field = $sort->property;
$direction = $sort->direction;
$start = $params->start;
$end = $params->limit;
($direction == 'ASC' ? 'ASC' : 'DESC');
$dbh = Dbconfig::dbconnect();
$stmt = $dbh->prepare("SELECT count(*) FROM users");
$stmt->execute();
$number_of_rows = $stmt->fetchColumn();
$sth = $dbh->prepare("SELECT * FROM users ORDER BY name $direction LIMIT $start,$end");
$sth->execute();
$dataAll = $sth->fetchAll();
$data = array(
"success" => mysql_errno() == 0,
"total" => $number_of_rows,
"users" => $dataAll
);
return $data;
}
您有处理分页的服务器端代码吗?单击next(下一步)时,将使用start(开始)和limit(限制)参数调用网格存储,您需要使用该值从服务器返回结果Yes(是)我获得开始和限制当我应用它时,我在第一次加载时仅获得5个值。下一页是禁用的。您还需要获取totalProperty,即要用于分页的记录总数。返回的结果应该有总记录数,比如47,并且需要映射到代理读取器totalProperty。如果你需要一个例子,请告诉我我添加了一个简单的例子作为答案,但我的代理与我使用的类型略有不同:“direct”,我通过directFn调用