【发布时间】:2012-01-24 21:15:02
【问题描述】:
请看http://jsfiddle.net/chugh97/YWVA8/56/ 我已冻结 Inv No 列。我想要实现的是仅冻结复选框列,以便当有人滚动复选框列时不会从用户视图中隐藏。
【问题讨论】:
-
@Oleg 如何使用 C# 代码设置列的冻结属性。 JQGridColumn 类有一个名为“Fixed”的属性。这是映射到冻结的相同属性吗?
标签: jqgrid
请看http://jsfiddle.net/chugh97/YWVA8/56/ 我已冻结 Inv No 列。我想要实现的是仅冻结复选框列,以便当有人滚动复选框列时不会从用户视图中隐藏。
【问题讨论】:
标签: jqgrid
最近我在同一个问题上回答了here。尽管如此,我发现这个问题非常好,并且我认为共享解决方案对于 jqGrid 的许多用户来说可能很有趣。所以我很快在这里重复答案。
我根据the answer 的演示创建的The demo 不仅允许冻结带有复选框的列,而且还允许与冻结列一起实现内联编辑:
希望托尼对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]);
函数fixPositionsOfFrozenDivs的实现可以在the demo的代码中找到,也可以在已经引用的old answer的文本中找到。
【讨论】:
setFrozenColumns 之前是否被调用过并且它成功。典型的问题来自limitations。只需在the line 上设置断点并验证。