我正在尝试使用新行、colNames 和 colModel 重新加载 jqGrid。行数据似乎加载正常,但列似乎没有刷新。我试过使用 GridUnload 和 GridDestroy 但我最终完全丢失了 jQuery DOM 实例并且不再加载任何数据。
var grid = $('#my-grid');
if(grid[0].grid == undefined) {
grid.jqGrid(options);
} else {
grid.setGridParam(options);
grid.trigger('reloadGrid');
}
网格实例很重要,因为它将作为参数传递给其他对象。这些对象可能附加监听器或触发事件。
我使用的是 4.4.2 版本
最佳答案
reloadGrid
仅重新加载网格的 body 并且不更改将在创建网格时创建的列标题。
如果您需要更改列数或使用 colNames
和 colModel
代替您拥有的旧网格或重新创建 网格。您可以使用 GridUnload首先方法,然后创建新网格(在您的情况下调用 grid.jqGrid(data)
)。重要的是,如果您将 jQuery 选择器缓存到代码中的 grid
之类的变量中,则必须在调用 GridUnload
后再次分配 grid
>,因此您应该在调用 GridUnload
之后直接执行类似 grid = $("#grid");
的操作。
参见 the answer有关详细信息和代码示例。
关于javascript - jqGrid 重新加载网格并刷新新的 colModel 和 colNames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836496/