CodeIgniter with Kendoui grid


CodeIgniter with Kendoui grid

在发帖之前,我在网上搜索了相关问题,但没有找到任何相关的帮助。

我正在CodeIgniter下的web应用程序工作。我正在使用KendoUI。已安装KendoUi。

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

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

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

如果且仅如果它是不可能的,那么我应该遵循什么方法codeigniter mvc模式实现网格?我是否应该在我的目录中创建另一个名为data的目录?或者我该怎么办?

真的需要你所有的指导。

新的kendou和codeigniter。

剑道UI在客户端操作。您的数据位于服务器端。将数据放入网格的唯一方法是通过服务器端函数传递数据。

在您的例子中,使用CodeIgniter,这是非常简单的。控制器需要提供包含Grid和所需JavaScript的页面。数据源的transportread部分应该指向一个提供数据的URL。

在您的示例中,该URL将指向CodeIgniter方法。假设您希望您的网格显示员工信息,read URL将指向employees'gridread(或其他)。

employees'gridread方法将调用employees_model来获取员工记录。然后以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;
    }

你需要一个函数在你的模型中处理$limit, $offset, $sort, $filter值来返回请求的数据。

编辑:实际上有一个更简单的方法来连接CodeIgniter(或任何PHP框架)与剑道网格工作,那就是使用剑道的DataSourceResult.php,你可以通过查看网格演示并将源代码切换到PHP找到。

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

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