【发布时间】:2013-01-22 09:49:07
【问题描述】:
我希望使用 php 在剑道 UI 中进行服务器端分页。所以有人知道该怎么做吗? 我在网格中确实喜欢 serverpaging=true。对于服务器端逻辑,我需要选择哪个页码,这样我就可以计算 pagenumber*perpage 并通过查询获取该记录。 但是如何将选定的页码传递给服务器端?
var crudServiceBaseUrl = "<?=base_url()?>",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl+"did_grid_list",
type:"GET",
dataType: "jsonp"
},
serverPaging: true,
pageSize: 20,
schema: {
total: function(data) { console.log(10034); return 10034; },
model: {
id: "id",
fields: {
did: { validation: { required: true,max:9 } },
}
}
}
});
上面的代码是我的视图文件。COntroller 端是这样的
$json_data = array();
$count_all = count($this->dids_model->did_get($action));
$page_no = $_GET['page'];
$json_data['page'] = $page_no;
$json_data['total'] = ($count_all>0) ? $count_all : 0;
$perpage = 20;
$start = ($page_no-1) * $perpage;
if($start < 0 )
$start = 0;
$result = $this->dids_model->did_get($action,$start,$perpage);
【问题讨论】:
-
您没有发送 pageSize 的问题是因为您的平衡括号不正确。您(至少在上面的代码中)缺少一个“}”来关闭
transport,就在serverPaging: true,之前 -
我已经在我的真实代码中更正了。我把刚刚选择的代码放在这里。那是 y 一个 } 丢失。
-
而且使用“}”你仍然没有得到服务器中的参数?
-
你没有得到。我刚刚打印了 $_GET 但没有打印。