冻结JQGrid中的rownum列

我有一个webapp,它使用JQGrid表,我想像任何其他列一样冻结 rownum列,但我不能,因为没有访问rownum colModel,并且不可能设置rownum的freeze: true属性。

这是我的JSFiddle有一个工作示例,这是正确的,除了它冻结rownum和Inv No列,我想只冻结第一列。 要检查列冻结:只需调整JSFiddle窗口的大小,使表格获得水平滚动条并重新加载小提琴。

有谁知道如何实现这一目标? 每个有用的答案(尤其是JSFiddle)都受到高度赞赏和评价。

谢谢。

我觉得你的建议很有意思。 jqGrid不允许使用"rn" (在使用rownumbers: true选项的情况下创建)或"cb" (在使用rownumbers: true选项的情况下创建)列冻结。 你可能知道我在自由jqGrid这个名字后的4个月里开发了jqGrid的分支(更多细节见readme和wiki)。 所以我只是在我的fork中对setFrozenColumns的代码进行了相应的更改。

该演示演示了该function。 "rn""cb"列已frozen: true 默认为 frozen: true列。 因此,只需调用setFrozenColumns方法即可使其冻结:

在此处输入图像描述

冻结列的另一个问题是,如果并非所有行都具有相同的高度,则各行的位置和高度。 例如,内联编辑可以增加行的高度。 我也解决了这个问题。

下一个演示使用带有formatter: "action"冻结列formatter: "action"和“rownumber”列(“rn”列)。 可以看到冻结行的高度将在内联编辑的开始或结束时自动调整:

在此处输入图像描述

因此,您只需从GitHub下载最新的免费jqGrid代码即可解决您的问题。