【问题标题】:free-jqgrid: hide/show column affect to frozen column?free-jqgrid:隐藏/显示列对冻结列的影响?
【发布时间】:2017-08-12 18:41:43
【问题描述】:

我有一个带有 2 个冻结列的 jqgrid。如果我什么都不做,《冰雪奇缘》可以正常工作。 在我隐藏/显示另一列(非冻结列)后,冻结不起作用。

我使用免费的 jqGrid 4.14.0 版

我不知道会发生什么。

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

【问题讨论】:

  • 您能否更准确地描述问题?你如何隐藏/显示列?您是使用columnChooser 还是直接拨打showColhideColshowHideCol?你的意思是“冻结不工作”?究竟是什么“不工作”?冻结列的高度/宽度是否不变?最好提供demo,可以用来复现问题。
  • @Oleg,感谢您的快速回复,我使用“hideCol”。隐藏列后,列在未锁定之前冻结,并且它们的高度/宽度没有改变

标签: jqgrid free-jqgrid frozen-columns


【解决方案1】:

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

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

因此有两种选择:

  1. 通过调用showColhideColshowHideCol 隐藏/显示您需要的所有列,然后在网格上触发jqGridResetFrozenHeights 事件以强制重新计算冻结潜水的所有宽度/高度属性
  2. 调用destroyFrozenColumns销毁冻结列,调用showColhideColshowHideCol应用隐藏/显示列,并再次调用setFrozenColumns重新创建冻结列。李>

我建议您进行一些测试以选择上述两种方法中的哪一种可以在您的应用程序中提供最佳性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    相关资源
    最近更新 更多