无法使用新的json数据重新加载JQGrid

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用新的json数据重新加载JQGrid相关的知识,希望对你有一定的参考价值。

我无法使用从控制器接收的新json数据重新加载JQGrid。在下面显示的代码中,我在成功接收数据并将其传递给另一个方法后显示警报。但是我无法刷新数据。有关如何解决此问题的任何建议?

码:-

$.ajax({
    type: 'post',
    url: '/TodoList/searchdata',
    traditional: true,
    dataType:"json",
    data: d,
    success: function (data) {
        alert(JSON.stringify(data));                 
        callme(data);
    }
})

叫我功能: -

function callme(newone1) {
    $grid.jqGrid('clearGridData');
    $grid.jqGrid({
        //autowidth: true,
        caption: "Evaluated URLs",
        colNames: ["AccountName", "BU", "Salesop", "Isdormant"],
        colModel: [
            { name: "AccountName", align: "center", title: false, width: 400, resizable: false, sortable: false },
            { name: "BU", width: 125 },
            { name: "Salesop", align: "center", width: 125, sorttype: "date" },
            { name: "Isdormant", align: "center", width: 125, sorttype: "date" }
        ],
        data: newone1,
        datatype: 'json',
        emptyrecords: "0 records found",
        multiselect: true,
        localReader: {
            page: function (obj) {
                return (obj.page === 0 || obj.page === undefined) ? "0" : obj.page;
            }
        },
        loadComplete: function () {
            var ts = this;
            if (ts.p.reccount === 0) {
                $(this).hide();
                emptyMsgDiv.show();
            } else {
                $(this).show();
                emptyMsgDiv.hide();
            }
        },
        height: "auto",
        sortname: "created",
        toppager: true,
        pager: "#url-pager",
        viewrecords: true
    }).trigger("reloadGrid");
    //$grid.jqGrid('setGridParam',
    //{    
    //    datatype: 'json',
    //    data: newone1
    //}).trigger("reloadGrid",[{page:1}]);
}

Json data received is showing in an alert

答案

您可以使用新数据重新加载jqgrid。在你的ajax成功就像下面这样。

var $grid=$('#your_grid_id');
$grid.jqGrid('setGridParam', { datatype: 'local', data: data }).trigger("reloadGrid");

DEMO

以上是关于无法使用新的json数据重新加载JQGrid的主要内容,如果未能解决你的问题,请参考以下文章

jqgrid json不加载数据

使用分页器时 Jqgrid 不会重新加载

前端 - 添加新的使用 jqGrid?

jquery.jqgrid 重新加载表格数据

jqGrid 不填充数据

如何在免费的 jqgrid 4.15.4 中重新加载数据