2016-01-27 99 views
0

我正在使用jqGrid,并且在调用jstree事件后刷新数据时遇到问题。
我正在关注此post。我完全不知道该把它放在哪里。
这是我的代码。我做什么?如何重新加载数据jqGrid

$('#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 JSFree jqGrid
而更换

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

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

你可以发布你的HTML吗? – Michael

+0

我编辑了我的帖子 –

回答

0

我想,这个问题存在,因为您创建的事件处理程序($('#jsTree_DonVi').on('changed.jstree', function (e, data) {/* here */});内的网格。要明白的jqGrid在相对复杂的转换初始空<table id="jqGrid"></table>这一点很重要

你可以通过使用来解决这个问题,请参考the post了解更多详情。 0方法。你可以用线

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

GridUnload实现可以依赖的jqGrid的叉子,您可以使用(free jqGridGuriddo jqGrid JS或旧的jqGrid在<版本替换线

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

= 4.7 )。我开发叉free jqGrid,我会推荐你​​。您可以从CDN(请参阅the wiki article)使用它,或者从知名JavaScript存储库中的一个安装:npm,bower,NuGetWebJars(请参阅the readme)。

+0

Exaclty我需要的。非常感谢。你救了我的命。 –

+0

@QuanLeDucMinh:不客气!如果问题解决了,那么你应该[“接受”](http://meta.stackexchange.com/a/5235/147495)答案并提高你的声望。 – Oleg

+0

@QuanLeDucMinh:顺便说一下,建议您“接受”你自己写在你的问题上的答案(参见[你的回答](http://stackoverflow.com/a/34014810/315935))。它给搜索引擎一个提示,即来自答案的信息是*有用*并且它*解决*问题。 – Oleg