我有一个带有 2 个冻结列的 jqgrid。如果我什么都不做,《冰雪奇缘》可以正常工作。在我隐藏/显示另一列(非冻结列)后,冻结不起作用。
我使用免费的 jqGrid 版本 4.14.0
我不知道会发生什么。
谁能帮我!提前致谢..
我有一个带有 2 个冻结列的 jqgrid。如果我什么都不做,《冰雪奇缘》可以正常工作。在我隐藏/显示另一列(非冻结列)后,冻结不起作用。
我使用免费的 jqGrid 版本 4.14.0
我不知道会发生什么。
谁能帮我!提前致谢..
如果您直接使用低级方法showCol
, hideCol
,showHideCol
那么您应该从两种解决方案中选择哪一种在您的情况下提供最佳性能。
列的显示/隐藏相对较慢,因为需要查看网格的所有行display
,列标题(包括过滤器工具栏),并且相应单元格上的内联 css 样式会更改(属性应设置为none
或none
值应为删除)。之后,网格的大小和高度也可以更改。如果网格有冻结列,那么在冻结潜水中也应该这样做。此外,应重新计算冻结潜水的宽度和高度,并且也应重新计算冻结列的每一行的高度。
因此,有两种选择:
showCol
通过调用,隐藏/显示您需要的所有列,hideCol
然后showHideCol
在jqGridResetFrozenHeights
网格上触发事件以强制重新计算冻结潜水的所有宽度/高度属性destroyFrozenColumns
应用隐藏/显示列,并通过调用showCol
再次重新创建冻结列。hideCol
showHideCol
setFrozenColumns
我建议您进行一些测试以选择上述两种方法中的哪一种可以在您的应用程序中提供最佳性能。