javascript - jqGrid 重新加载网格并刷新新的 colModel 和 colNames

标签 javascript jquery jqgrid

我正在尝试使用新行、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 并且不更改将在创建网格时创建的列标题。

如果您需要更改列数或使用 colNamescolModel 代替您拥有的旧网格或重新创建 网格。您可以使用 GridUnload首先方法,然后创建新网格(在您的情况下调用 grid.jqGrid(data))。重要的是,如果您将 jQuery 选择器缓存到代码中的 grid 之类的变量中,则必须在调用 GridUnload 后再次分配 grid >,因此您应该在调用 GridUnload 之后直接执行类似 grid = $("#grid"); 的操作。

参见 the answer有关详细信息和代码示例。

关于javascript - jqGrid 重新加载网格并刷新新的 colModel 和 colNames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836496/

相关文章:

javascript - 日期时间选择器 Jquery 中日期和时间之间的差异

javascript - 更改虚拟列phpgrid的位置

forms - 在JQgrid中编辑或添加新行时,如何避免在模态窗口外单击时关闭表单?

javascript - jqgrid 列选择器宽度

javascript - 从vuejs中的方法设置数据

javascript - 如何将 id 设置为从 JSON 响应生成的 <tr>?

javascript - 部分 html Controller Angular

javascript - Onclick 启用单击的图像并禁用其他图像

javascript - 在 jQuery 中使用 .keyup 计算字符的简单方法

javascript - 如何在 Angular 上使用 formatDate 格式化日期