【问题标题】:KendoUI Grid server pagination using php使用 php 的 KendoUI Grid 服务器分页
【发布时间】: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 但没有打印。

标签: php kendo-ui


【解决方案1】:

请查看serverPaging 文档。它向您显示您将在请求中收到的参数:

  1. take:包含要检索的记录数
  2. skip:从数据集前面多少条记录开始读取
  3. page:当前页数据的索引
  4. pageSize: 每页记录数

【讨论】:

  • 我已经打印了 $_GET 但我没有这个参数。所以你能解释一下我如何在服务器端得到这个值吗?
  • 您是否在数据源定义中设置了serverPaging : true 和pageSize : 10?您能否在问题中包含您到目前为止所拥有的内容,我会看看吗?
  • 是的,我已经设置了。但正如你在上面所说的参数,我如何在服务器端获取。我使用的是 php。所以我有 GET 方法,但上面的参数不是默认情况下出现的。
  • 您是否介意在原始问题或 JSFiddle 中添加您目前所拥有的内容,我会研究一下?
  • 查看我原来的问题。因为 $_GET['page'] 没有得到任何东西。
猜你喜欢
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 2018-04-30
  • 2014-02-18
  • 1970-01-01
  • 2016-12-06
相关资源
最近更新 更多