free-jqgrid:hide/show 列对冻结列有影响吗?

free-jqgrid: hide/show column affect to frozen column?

我有一个带有 2 个冻结列的 jqgrid。如果我什么都不做,冷冻工作正常。 在我 hide/show 另一列(不是冻结的列)冻结后不起作用。

我使用免费的 jqGrid 版本 4.14.0

我不知道发生了什么。

谁能帮帮我!提前致谢..

如果您直接使用 low-level 方法 showColhideColshowHideCol,那么您应该自己从两种解决方案中选择哪一种在您的情况下提供最佳性能.

Showing/hiding列相对较慢,因为需要查看网格的所有行,列headers(包括过滤器工具栏)相应单元格上的内联 css 样式会更改(display 属性 应设置为 none 或应删除 none 值)。之后网格的宽度和高度也可以改变。如果网格有冻结的列,那么在冻结的潜水中也应该这样做。此外,冻结潜水的宽度和高度应重新计算,冻结列的每一行的高度也应重新计算。

因此有两种选择:

  1. hide/show 通过调用 showColhideColshowHideCol 所需的所有列,然后在网格上触发 jqGridResetFrozenHeights 事件以强制重新计算冷冻潜水的所有 width/height 属性
  2. 通过调用 destroyFrozenColumns 销毁冻结列,通过调用 showColhideColshowHideCol 应用 hiding/showing 列并重新创建冻结通过调用 setFrozenColumns.
  3. 再次列

我建议你做一些测试来选择,以上两种方式中哪一种在你的应用程序中提供最好的性能。