我有一个Web应用程序,它使用JQGrid表,并且我想像其他任何列一样对rownum列进行freeze,但是我不能,因为无法访问rownum colModel,并且无法设置rownum的freeze: true属性。

这是带有工作示例的JSFiddle,它是正确的,除了它会冻结rownum和Inv No列,而且我只希望冻结第一列。要检查列是否冻结:只需调整JSFiddle窗口的大小,以使表获取水平滚动条并重新加载小提琴即可。

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

谢谢。

最佳答案

我觉得你的建议很有趣。 jqGrid不允许冻结"rn"(在使用rownumbers: true选项的情况下创建)或"cb"(在使用multiselect: true选项的情况下创建)列。您可能知道,自从上个月4个月以来,我就以免费的jqGrid名称开发了jqGrid的派生工具(有关更多详细信息,请参见自述文件和Wiki)。因此,我只是在fork中对setFrozenColumns的代码进行了相应的更改。

The demo演示了该功能。默认情况下,列"rn""cb"具有frozen: true列。因此,只需调用setFrozenColumns方法以使其冻结:

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

The next demo将冻结列与formatter: "action"和“rownumber”列(“rn”列)一起使用。可以看到,冻结行的高度将在内联编辑的开始或结束时自动调整:

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

关于javascript - 卡住JQGrid中的rownum列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29820226/

10-12 06:50