我有一个带有2个冻结列的jqgrid。如果我什么都没有,冷冻工作就好了。 隐藏/显示另一列(非冻结列)后,冻结不起作用。
我使用免费的jqGrid版本4.14.0
我不知道会发生什么。
任何人都可以帮助我!提前谢谢..
答案 0 :(得分:1)
如果您直接使用低级方法showCol
,hideCol
,showHideCol
,那么您应该选择自己哪种方法可以提供最佳性能。
显示/隐藏列的速度相对较慢,因为需要查看网格的所有行,列标题(包括过滤器工具栏)以及相应单元格上的内联css样式是否更改( display
属性应设置为none
,或者应移除none
值。之后,网格的高度和高度也可以改变。如果网格具有冻结列,则应在冻结潜水中执行相同操作。此外,应重新计算冻结潜水的宽度和高度,并重新计算冻结柱的每一行的高度。
因此,有两种选择:
showCol
,hideCol
,showHideCol
隐藏/显示您需要的所有列,然后在网格上触发jqGridResetFrozenHeights
事件以强制重新计算所有宽度/冷冻潜水的高度特性destroyFrozenColumns
销毁冻结列,通过调用showCol
,hideCol
,showHideCol
应用隐藏/显示列,并再次通过以下方式重新创建冻结列致电setFrozenColumns
。我建议您选择一些测试,上述两种方法中的哪一种可以为您的应用提供最佳性能。