jqgrid treegrid 重新加载本地数据


首先jqgrid treegrid  加载本地数据的方法如下:

var $gridList = $('#list');
        var grid = $gridList.jqGrid({
            datatype : 'jsonstring',
            datastr : data,
            colModel : [],
            viewrecords : true,
            //gridview:true,
            treeGrid : true,
            treedatatype : "local",
            treeGridModel : "adjacency",
            ExpandColumn : 'name',
            height : $(window).height() - 240,
            autowidth : '100%',
            width : $gridList.parent().width() - 1,
            jsonReader : {
                repeatitems : false,
                root : function(obj) {
                    return obj;
                },
                page : function(obj) {
                    return 1;
                },
                total : function(obj) {
                    return 1;
                },
                records : function(obj) {
                    return obj.length;
                }
            }
        });

其中,不同于treegrid加载远程返回对象的是,需要设置datatype : 'jsonstring',数据也要赋值在datastr属性上

  datatype : 'jsonstring',
  datastr : data,
  treedatatype : "local",
 

加载之后的效果:

 

 但是在第一次加载之后,还会有后续的查询操作,一般的从服务器返回json形式的数据的时候,代码如下:
$("#list").jqGrid('setGridParam', {
            postData : postData,
            page : 1
        }).trigger('reloadGrid');

网上搜索的treegrid的重新加载的方法,如下:

$jqGrid.jqGrid('setGridParam',{ 
                    url:path+"/admin/demo/getLogsGridJson.do", 
                    postData:{'aaa':111,'bbb':222}, //
                    page:1,
                    treedatatype : 'json'
}).trigger("reloadGrid");

上面这段代码,在以treegrid形式重新加载本地数据的情况下,并不起作用,(我没有调试重新加载远程数据的情况)

在stackoverflow上搜索到一篇文章,代码如下:

$("#list").setGridParam({
    datatype: "jsonstring",
    datastr: init()
}).trigger("reloadGrid", [{page: 1}]);

 

依然,上面这段代码,在以treegrid形式重新加载本地数据的情况下,并不起作用,(我没有调试重新加载远程数据的情况)
后来实在没有办法,在这个上面耽误的时间已经太多了,终极解决方式:
$("#container").empty();
            $("#container").append('<table id="list"></table>');

清空,重加元素,然后再重新绑定

 

参考网址:

https://stackoverflow.com/questions/17260450/jqgrid-reload-datatype-local-for-each-request

https://blog.csdn.net/qq_29542611/article/details/74979762

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM