CodeIgniter与Kendoui网格

时间:2013-03-20 23:22:58

标签: php codeigniter kendo-ui kendo-grid

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

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

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

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

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

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

真的需要你的所有指导。

KendoUi和codeigniter的新手。

1 个答案:

答案 0 :(得分:5)

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

在您的情况下,使用CodeIgniter,这非常简单。您的控制器需要提供包含Grid和所需JavaScript的页面。数据源read的{​​{1}}部分应指向提供数据的网址。

在您的情况下,该URL将是CodeIgniter方法。假设您希望网格显示员工信息,transport网址将指向read(或其他)。

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

employees_model

您的模型中需要一个处理 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; } 值的函数来返回请求的数据。

编辑:实际上有一种更简单的方法来连接CodeIgniter(或任何PHP框架)以与Kendo网格一起工作,那就是使用Kendo的$limit, $offset, $sort, $filter,您可以通过查看网格演示和切换源来找到它到PHP。

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

我稍微编辑了一下,以便可以使用CI的DataSourceResult.php方法加载它,并从配置文件中获取数据库设置。