关于jqgrid不显示问题,请各位大神给指导。

#1 dm990436

在 echo json_encode($responce)中我dump (json_encode($responce))得到的内容是:
{"page":1,"total":2,"records":"10","rows":
[
{"id":"1","cell":["001","5f204e00","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"2","cell":["002","5f204e8c","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"3","cell":["003","5f204e09","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"4","cell":["004","5f2056db","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"5","cell":["005","5f204e94","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"6","cell":["006","5f20516d","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"7","cell":["007","5f204e03","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"8","cell":["008","5f20516b","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"9","cell":["009","5f204e5d","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]},
{"id":"10","cell":["010","5f205341","5f204e00","13500000000","6df157335e027f576e56533a6c348d1d4e8c8def"]}
]}

在html中JS如下:








但是jqgrid根本不显示数据,就不知道现在问题出在哪里。按常理说json格式也是对的,为啥就接收不了呢?请大神给指挑明路,拜谢了!


2013-11-21 22:10:40

#2 jake

先不用php,在页面上做到可以显示,然后再通过json插数据进去。

另外chrome的F12看看调试台报错是什么

2013-11-21 22:39:01

#3 dm990436

我在页面通过local的数据,在页面上是可以显示的。而且在chrome的调试台也没有看到报错信息,但应该是jqgrid没有接收到数据。是不是有可能jqgrid的url写的有错误? 我写的是
"index.php?c=sale&a=search"?
J老大,能否麻烦你是否有案例模版让我学习学习,知道你日理万机,这问题纠结了我快一周了,指望着你拯救拯救了。

2013-11-22 17:57:10

#4 jake

dm990436 发表于 2013-11-22 17:57
我在页面通过local的数据,在页面上是可以显示的。而且在chrome的调试台也没有看到报错信息,但应该是jqgri ...
真没有报错信息那么就是没有错误了。我没用过这个控件,只是根据一般经验说的。

可以看看调试台里面的network,看看有没有ajax请求和ajax请求的往返数据是什么,我估计是没有ajax请求的,url最好用spUrl,你那样写也可以。不过不是url的问题,而是控件的用法可能不是这样的。

2013-11-22 21:12:29

#5 mebtime

发一个我用的例子
$("articleListGrid").jqGrid({ 
    mtype: "POST",
    datatype: "json",  //请求的数据类型
    colNames:['标题','分类','来源','访问量', '发布','有效期','操作'], //数据列名称(数组)
    colModel:[ //数据列各参数信息设置
        {name:'title',index:'title', width:420, title:false,resizable:true},
        {name:'catName.classname',index:'catName.classname', width:100,resizable:false},
                {name:'source',index:'source', width:80,resizable:false},
        {name:'sumVis',index:'sumVis', width:80,align:'center',resizable:false},
                {name:'published',index:'published', width:100,align:'center',resizable:false},
        {name:'vaildDate',index:'vaildDate', width:100, align:'center',resizable:false},
                {name:"actGrn", width:80,align:'center',title:false,resizable:false,formatter:convToLink}
       ],
    rownumbers: true,
    rowNum:15, //每页显示记录数
    rowList:[15,30,45], //分页选项,可以下拉选择每页显示记录数
    pager: 'atcListPage',  //表格数据关联的分页条,html元素
    //autowidth: true, //自动匹配宽度
    height:350,   //设置高度
    hiddengrid: true,
    gridview:true, //加速显示
        altRows:true,
        altclass:'altRClass',
        hoverrows:true,
    viewrecords: true,  //显示总记录数
    multiselect: true,  //可多选,出现多选框
        multiselect:'id',
    multiselectWidth: 20, //设置多选列宽度
    sortable:true,  //可以排序
    sortname: 'id',  //排序字段名
    sortorder: "desc", //排序方式:倒序,本例中设置默认按id倒序排序
    loadComplete:function(data){ //完成服务器请求后,回调函数
        if(data.records==0){ //如果没有记录返回,追加提示信息,删除按钮不可用
            $().message('没有相关数据!');
            $("del_btn").attr("disabled",true);
        }else{ //否则,删除提示,删除按钮可用
            $().message('正在加载数据...');
        }
    }
})

2013-11-26 11:00:55

#6 dm990436

谢谢哈。莫名其妙又出现了记录,还没明确是哪里出的问题。现在又出现了个新的问题,自定义写的form框中的查询条件,无法查出记录,现在还在自我摸索阶段,回头等研究出来以后,再贴出来。让跟我一样的新手同学们少走点弯路。

2013-11-28 20:52:23

#7 dm990436

mebtime 发表于 2013-11-26 11:00
发一个我用的例子
能把PHP的函数贴出来给我参考参考不

2013-11-28 20:52:57

#8 mebtime

dm990436 发表于 2013-11-28 20:52
能把PHP的函数贴出来给我参考参考不
其实很简单的东西,我写的代码比较乱,放出来参考不太好。你看看传进来的参数有几个,要获取的参数又有几个,查出来后处理一下就根据jqgrid要求的结构组合成数组,然后echo json_encode($array)就行了。

2013-11-29 14:07:17