如何动态地将数据分配给jqGrid?

Din*_*esh 4 jquery jquery-plugins jqgrid jqgrid-formatter

这是我创建jqGrid的代码

$("#ptDataGrid").jqGrid({
                    datatype: 'local',
                    data: arrSpecData,
                    colModel: colmod,
                    rowNum: 10,
                    rowList: [10],
                    pager: '#ptPager',
                    gridview: true,
                    rownumbers: false,
                    viewrecords: true,
                    loadonce:false,
                    hidegrid: false,
                    autowidth: true,
                    caption: 'Crank Pin',
                    height: '100%',
                });
Run Code Online (Sandbox Code Playgroud)

然后我在我的数据上应用了一些过滤器并创建了另一个名为FilteredData的数组.现在我想将这个新的数据源分配给我的网格.我尝试了所有我认识的方法.但没有任何效果.那么,我们如何动态地将新数据源分配给jqGrid呢?请建议一些分配方式.

                dataGrid.setGridParam({ data: filterdData });
                dataGrid[0].refreshIndex();  
                dataGrid.trigger("reloadGrid"); 
Run Code Online (Sandbox Code Playgroud)

我得到的结果仍然相同:(

解决方法#1:

 $('#divGrid').children().remove();
 $('#divGrid').html(' <table id="ptDataGrid" class="jqgriddata"><tr><td/></tr></table><div id="ptPager"></div> ');  

 createGrid(filterdData,true);
Run Code Online (Sandbox Code Playgroud)

Ole*_*leg 5

您可以先设置new data,setGridParam然后调用refreshIndex方法(请参阅答案)更新内部使用的_index参数.

更新:单击演示中的 "更改数据"按钮以验证该方法是否有效.