jqGrid - 冻结第一个复选框列

时间:2012-01-24 21:15:03

标签: jqgrid

请看http://jsfiddle.net/chugh97/YWVA8/56/ 我冻结了Inv No列。我想要实现的只是冻结复选框列,这样当某个滚动时,复选框列不会从用户的视图中隐藏。

1 个答案:

答案 0 :(得分:3)

最近我就同一个问题回答了here。不过我发现这个问题非常好,我认为对于jqGrid的许多用户来说,共享解决方案会很有趣。所以我很快就在这里重复一遍。

我根据The demo的演示创建的

the answer不仅允许冻结带有复选框的列,还允许与冻结列一起实现内联编辑:

enter image description here

我希望Tony在jqGrid的主代码中进行相应的更改,内联编辑将从冻结列的limitations列表中删除。

执行此操作的代码中最重要的部分是

$grid.jqGrid('filterToolbar', {stringResult: true, searchOnEnter: false, defaultSearch: "cn"});
$grid.jqGrid('setColProp', 'cb', {frozen: true});
$grid.jqGrid('setGridParam', {multiselect: false});
$grid.jqGrid('setFrozenColumns');
$grid.jqGrid('setGridParam', {multiselect: true});
if($.isFunction($grid[0].p._complete)) {$grid[0].p._complete.call($grid[0]);}
fixPositionsOfFrozenDivs.call($grid[0]);

您可以在the demo的代码或已引用old answer的文本中找到函数fixPositionsOfFrozenDivs的实现。

相关问题