【问题标题】:How to Reload Data jqGrid如何重新加载数据 jqGrid
【发布时间】:2026-02-07 01:50:02
【问题描述】:

我正在使用 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');

【问题讨论】:

  • 你能把 HTML 也发给你吗?

标签: jquery jqgrid


【解决方案1】:

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

例如,您可以通过使用GridUnload 方法来解决此问题。你可以换行

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

用线

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

GridUnload 的实现可以依赖于您使用的 jqGrid 的分支(free jqGridGuriddo jqGrid JS 或版本 free jqGrid,我会推荐你​​。您可以从 CDN 使用它(参见 the wiki article)或从知名 JavaScript 存储库中安装它:npmbowerNuGetWebJars(参见 the readme)。

【讨论】:

  • 正是我需要的。非常感谢。你救了我的命。
  • @QuanLeDucMinh:不客气!如果问题解决了,那么您应该"accept" 回答并提高您的声誉。
  • @QuanLeDucMinh:顺便说一句,建议您“接受”您自己在问题上写的答案(请参阅your answer)。它向搜索引擎提示答案中的信息有帮助并且它解决了问题。