如何重新加载数据jqGrid

时间:2016-01-27 04:25:41

标签: jquery 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>

此处解决方案
我将jqGrid从Guriddo jqGrid JS更改为Free jqGrid
并替换

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

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

1 个答案:

答案 0 :(得分:0)

我认为问题的存在是因为你在事件处理程序($('#jsTree_DonVi').on('changed.jstree', function (e, data) {/* here */});中创建了网格。了解jqGrid在相对复杂的表结构中转换初始空<table id="jqGrid"></table>非常重要。 div。有关详细信息,请参阅the post

您可以使用GridUnload方法解决问题。你可以替换

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

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

GridUnload的实现可能取决于jqGrid的分支,您使用(free jqGridGuriddo jqGrid JS或版本中的旧jqGrid&lt; = 4.7)。我开发了叉free jqGrid,我建议你。您可以在CDN中使用它(请参阅the wiki article)或从众所周知的JavaScript存储库中安装:npmbowerNuGetWebJars(见the readme)。