easyUI datagrid分页显示南方项目

时间:2014-09-02 09:24:35

标签: php codeigniter datagrid pagination jquery-easyui

我正在用代码点火器和easyui datagrid做一个应用程序,我设置了

分页:真实

但是下一个和后退按钮不起作用,分页信息显示

  

向NaN项目显示1到NaN

我一直在谷歌上搜索但仍然没有运气。

这是我的JS:

var tablegrid = $('#datagrid');
var cols = [[
            {field:'referal',title:'Referal',align:'center'},
            {field:'firstName',title:'First Name',align:'center'},
            ....
    ]];
tablegrid.datagrid({
    title: "Register a Friend",
    url: base_url + 'notification/get_friend_notification',
    columns: cols,
    pagination: true,
    rownumbers: true,
    singleSelect: true
});  

这是我的控制器

    $results["rows"] = $this->mnotification->get_friend_list();
    echo json_encode($results);

模特:

public function get_friend_list() {
$params = $this->input->post();
$offset = $params['rows'] * $params['page']; 
$sql = $this->db->query(/* sql query.. */);
return $sql->result();
}

1 个答案:

答案 0 :(得分:0)

感谢我信赖的同事,他帮我找到答案。我做的是

  1. 我保留了js原样。
  2. 稍微修改了我的控制器,而不是

    $results["rows"] = $this->mnotification->get_friend_list();
    

    我将其修改为一个接受模型中数组的变量:

    $results = $this->mnotification->get_friend_list();
    
  3. mnotification模型(非常重要),这是我将结果作为数组传递的地方

    public function get_friend_list() {
    $result = array();
    
    $params = $this->input->post();
    
    $offset = $params['rows'] *( $params['page'] - 1);
    
    $query = "SELECT * FROM ..."; // sql statement
    
    // created index total for the total number of fetched data.
    $result['total'] = $this->db->query($query)->num_rows; 
    
    //appended limit and offset on the query string.
    $query .= " LIMIT {$params['rows']} OFFSET {$offset}";
    
    // pass all the result in index total. 
    $result['rows'] = $this->db->query($query)->result(); 
    
    }
    
  4. 我希望它有所帮助!