CodeIgniter与Kendoui网格

Siz*_*ode 1 php codeigniter kendo-ui kendo-grid

在发布之前,我在网上搜索了相关问题,但找不到任何相关问题的帮助.

我正在使用CodeIgniter下的Web应用程序.我正在使用KendoUI.KendoUi已安装.

问题是我想使用KendoUi网格,但该网格遵循json格式和其他像xml.

但问题是,我在kendoUi网站上看到的文档,据他们说,我需要有另一个数据源文件.其中应包括数据库的echo查询,该查询将用作网格的数据源.

但我想知道是否有可能在codeigniter中,如果kendoui网格直接从数据库加载数据而不是在ohter php文件上回显数据然后将其放在网格上.

当且仅当它不可能时,我应该采用什么方法为codeigniter mvc模式实现网格?我应该用我的目录中的数据名称创建另一个目录吗?或者我该怎么办..

真的需要你的所有指导.

KendoUi和codeigniter的新手.

Mat*_*Mat 5

Kendo UI在客户端运行.您的数据是服务器端的.将数据导入网格的唯一方法是通过服务器端函数传递数据.

在您的情况下,使用CodeIgniter,这非常简单.您的控制器需要提供包含Grid和所需JavaScript的页面.该read数据源的部分transport应指向服务于数据的URL.

在您的情况下,该URL将是CodeIgniter方法.假设您希望网格显示员工信息,readURL将指向employees\gridread(或其他).

employees\gridread方法将调用employees_modelto gram员工记录.然后它以JSON格式返回员工数据.控制器可能看起来像:

    public function gridread()
    {
        $limit = $this->input->post('take',TRUE);
        $offset = $this->input->post('skip',TRUE);
        $sort = $this->input->post('sort',TRUE);
        $filter = $this->input->post('filter',TRUE);

        $data = $this->employees_model->GridRead($limit, $offset,$sort,$filter);

        if ($data):
            header("Content-type: application/json");
            echo json_encode($data);
        else:
            // send server error
            header("HTTP/1.1 500 Internal Server Error");
            echo "Failed to read data!";
        endif;
    }
Run Code Online (Sandbox Code Playgroud)

您需要在模型中使用一个函数来处理$limit, $offset, $sort, $filter值以返回所请求的数据.

编辑:实际上有一个更容易的方法来连接CodeIgniter(或任何PHP框架)与Kendo网格一起使用,也就是使用Kendo DataSourceResult.php,你可以通过查看Grid演示并将源切换到PHP来找到它.

它处理Ajax请求,包括任何过滤,排序和分页,并以Grid所需的格式返回数据.

我稍微编辑了它,以便可以使用CI的$this->load->library方法加载它,它从配置文件中获取数据库设置.