如何重新加载数据 jqGrid

How to Reload Data jqGrid

我正在使用 jqGrid,在调用 jstree 事件后刷新数据时遇到问题。
我正在关注这个 post。确切地说,我不知道该把它放在哪里。
这是我的代码。我该怎么办?

$('#jsTree_DonVi').on('changed.jstree', function (e, data) {
    var id = data.instance.get_node(data.selected[0]).id;
    var text = data.instance.get_node(data.selected[0]).text;
    var tinhTrang = 0;
    var nam = 0;

    // I tried but it's not working 
    $("#jqGrid").setGridParam({ datatype: 'json' });
    $("#jqGrid").trigger("reloadGrid");
    //---

    $("#jqGrid").jqGrid({
        url: '/Home/GetData',
        postData: {
            "id": id,
            "nam": nam,
            "tinhTrang": tinhTrang
        },
        datatype: "json",
        colModel: [
           {
               label: 'Tên công trình', name: 'Ten', sorttype: 'string', width: 800, align: 'center'
           },
           { label: 'Kế hoạch/Thực hiện', name: 'KHTH', sorttype: 'string', align: 'center' },
           { label: 'Địa điểm xây dựng', name: 'DiaDiem', sorttype: 'string', align: 'center' }
        ],
        viewrecords: true, // show the current page, data rang and total records on the toolbar
        rowNum: 30,
        width: 1228,
        height: 500,
        loadonce: true,
        pager: "#jqGridPager"
    })};

我的HTML:

<div id="renderTable">
    <table id="jqGrid"></table>
    <div id="jqGridPager"></div>
</div>

解决方法在这里
我从 Guriddo jqGrid JS to Free jqGrid 更改了我的 jqGrid。
并替换

$("#jqGrid").setGridParam({ datatype: 'json' });
$("#jqGrid").trigger("reloadGrid");

$("#jqGrid").jqGrid('GridUnload');

我认为问题存在是因为您在事件处理程序 ([=12=) 中创建了网格。重要的是要了解 jqGrid 在相对复杂的表和 div 结构中转换初始空 <table id="jqGrid"></table>。有关详细信息,请参阅 the post

您可以通过使用 GridUnload 方法来解决问题。您可以替换行

$("#jqGrid").setGridParam({ datatype: 'json' });
$("#jqGrid").trigger("reloadGrid");

与线

$("#jqGrid").jqGrid("GridUnload");

GridUnload 的实现可能取决于您使用的 jqGrid 的分支 (free jqGrid, Guriddo jqGrid JS or an old jqGrid in version <=4.7). I develop the fork free jqGrid, which I would recommend you. You can use it from CDN (see the wiki article) or to install from one from well-known JavaScript repositories: npm, bower, NuGet or WebJars (see the readme)。