一直使用两者进行前后台开发,非常方便,但在datagrid中获取json数据并显示的时候碰到了问题,网上资料非常的少,基本都是jsp和php的,thinkphp框架的就没有了,可能非常简单,但本人刚学,又不喜欢看帮助文档,走了不少弯路,下面将问题及解决方法介绍一下。
一直以来思维方式固定在了thinkphp的控制器方法中,总是以为动态的__URL__/data可以显示,但忽略了easyui的调取。
解决历程:
直接在datagrid的url属性中:__URL__/data
失败!
想在thinkphp中生成json数据文件,未找到此功能
失败!
后来转换思路,生成shtml文件,成功,但太繁琐,不实用
失败!
继续转换思路,直接生成模板文件,原来是如此简单,要多变通啊
成功!
下面将代码贴出,新手或者遇到此问题未解决的同志们参考一下:
$renyuan=M('renyuan');//不解释
// $shenqing=M('shenqing');
import("@.ORG.Page");//导入分页类
$tiaojian=array();//查询条件,设置数组
$tiaojian['sqr_sq_id']=$_SESSION['sq_id'];//查询条件,不解释
$tiaojian['sqr_dw_id']=$_SESSION['sqdwid'];
$total = $renyuan->where($tiaojian)->count(); //计算总数
$page= new Page ( $total, 10 ); //分类总数与每页默认显示数
$rylist=$renyuan->page($_REQUEST['page'].',10')->order('id desc')->where($tiaojian)->select();//注意一下,request['page']是获取页面数,page是easyui后台传输的参数,后面的10可以更改为request['rows'],同page参数,可以在easyui的datagrid中动态更改每页的显示数
// $tiaojian1=array();
// $tiaojian1['id']=$_SESSION['sq_id'];
// $sq=$shenqing->where($tiaojian1)->find();
$show=$page->show();
$abc='{"total":'.$total.',"rows":'.json_encode($rylist).'}'//重要,这才是easyui的标准数据格式,数据总数和数据内容在同一个json中
$this->assign('abc',$abc);
// $this->assign('sq',$sq);
$this->assign('page',$show);
$this->display();
好了,结束,看一下效果