目前我正在努力恢复保存的网格首选项/配置。这或多或少工作得很好,直到我们执行执行列重新映射的最后一步, $grid.jqGrid("remapColumns", perm, true, true);发生的情况是,重新排序的列标题宽度与相应的列主体宽度不同步。
此重新映射确实按照新顺序并根据用户首选项正确显示列标题名称和列正文数据。
然而,令人奇怪的是以下内容。共有三列:(1) 名称(宽度:200)、(2) Id(宽度:70)和(3)警报(宽度:60)
如前所述,列标题和相应的列正文数据的实际顺序很好。
所以原来的顺序是:
Name | Id | Alert
x | 1 | a,c,d
y | 2 |
z | 3 | c
正确地重新映射到新顺序,但是(出于视觉示例的目的)如下所示,列标题宽度与列主体宽度不同步
Id | Name | Alert
1 | x | a,c,d
2 | y |
3 | z | c
每列都包含正确的数据,但现在列宽方面发生了以下情况。
Id 列标题现在的列标题宽度 = 200(宽度不正确),并且
Id 列体宽度 = 70(正确宽度)
名称column-header现在的column-header-width = 70(宽度不正确)并且
名称column-body-width = 200(正确宽度)。
警报列不受影响,并且列标题(宽度 = 60)和列正文(宽度 = 60)的宽度大小正确。
在解决这个问题的过程中,我相信 updateColumns 方法是同步与相应的列体宽度不同步的列标题宽度的一个很好的选择。如文档中所述,(http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3amethods http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3amethods)
更新列- 这使标题的宽度与数据同步。与表格拖放一起使用时很有用。该方法应该这样使用 - 示例:
var mygrid=jQuery("#grid_id")[0];
mygrid.updateColumns();
然而,在尝试使用 updateColumns() 失败并进一步挖掘后,发现从 jqGrid 3.8 开始,该方法已被弃用/从代码中删除。我们目前使用的是 jqGrid 版本 4.4/4.5。
(首选)在同步列标题宽度和列主体宽度方面,我到底如何使用当前版本的软件来解决此问题?
和/或我在哪里可以找到 jqGrid 源代码 3.7,以便我可以查看此方法并可能使用它?虽然我找到了 jqGrid 的早期版本,但我只是找不到
在这一点上,我确实非常需要一个有效的解决方案和明确的指导,以将其消灭在萌芽状态。如果需要任何进一步的说明或代码,请告诉我。