在......发现演示。
我注意到了2个问题。
1)在“列选择器”对话框中,我无法将列名称栏拖放到其他框中。
2)单击VIN和Year列的“ - ”图标,然后单击“确定”按钮。列标题无法调整大小。那么,如果这就是问题,如何对列选择器执行autoresizeOnLoad为false。
答案 0 :(得分:1)
您已使用done
的{{1}}回调,并致电
columnChooser
显式在您的代码中。您需要做的是添加呼叫
this.jqGrid("remapColumns", perm, true);
在调用this.jqGrid("autoResizeAllColumns");
后直接。 remapColumns
只需拨打autoresizeOnLoad:true
,但在重新加载网格时执行 。您希望在使用autoResizeAllColumns
之后进行自动调整。
另一种可能的实现方式是使用以下事件处理程序:
columnChooser
最后一个代码在每次调用$("#BatchReportJqgrid_Spreadsheet").bind("jqGridRemapColumns", function () {
$(this).jqGrid("autoResizeAllColumns");
});
方法后调用autoResizeAllColumns
。因此,您可以从remapColumns
的参数列表中删除不需要的done
回调,并且不要明确调用columnChooser
。方法remapColumns
将调用该方法,但columnChooser
事件的上述事件处理程序仍可在列重新映射结束时调整列的大小。
更新:下次发布JSFiddle演示会更好。可以对代码进行一些更改并重试更改。
在我看来,不需要进行上述任何更改,只需使用jqGrid的"jqGridRemapColumns"
选项即可。它会阻止在隐藏jqGrid列时更改列的宽度。