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

时间:2012-01-25 11:32:05

标签: 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%',
                });

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

                dataGrid.setGridParam({ data: filterdData });
                dataGrid[0].refreshIndex();  
                dataGrid.trigger("reloadGrid"); 

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

解决方法#1

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

 createGrid(filterdData,true);

1 个答案:

答案 0 :(得分:5)

您可以先针对data设置新的setGridParam,然后调用refreshIndex方法(请参阅the answer)以更新内部使用的_index参数。

更新:点击the demo上的“更改数据”按钮,验证方法是否有效。