如何在jqgrid中添加和删除列后获取列列表

如何在jqgrid中添加和删除列后获取列列表,jqgrid,Jqgrid,在jqgrid中添加和删除列之后,如何获得显示的列列表 当我调用该方法时: jQuery("#list").jqGrid('columnChooser',{ "msel_opts": $.ui.multiselect.defaults, "done": function (permut) { var colnames = $("#list").jqGrid('getGridParam', 'colModel'); } }); Colnames返回原始列集,而不是删除或添加列

在jqgrid中添加和删除列之后,如何获得显示的列列表

当我调用该方法时:

jQuery("#list").jqGrid('columnChooser',{ "msel_opts": $.ui.multiselect.defaults, "done": function (permut) {
        var colnames = $("#list").jqGrid('getGridParam', 'colModel');
  }
});

Colnames返回原始列集,而不是删除或添加列后的更新列表。

我没有测试这一点,但我认为您应该首先调用的问题是

$("#list").jqGrid("remapColumns", permut, true);
在done事件处理程序内部,然后测试colModel元素的hidden:true属性。现在,您不仅应该具有隐藏属性的正确值,还应该具有正确的列顺序


此外,我认为没有必要使用msel_opts:$.ui.multiselect.defaults选项。可能您还有一些其他问题需要解决。我建议您验证是否正确包含columnChooser的所有依赖项。有关详细信息,请参阅。

非常感谢Oleg,这非常有帮助!