【问题标题】:jqGrid - freeze the first checkbox columnjqGrid - 冻结第一个复选框列
【发布时间】:2012-01-24 21:15:02
【问题描述】:

请看http://jsfiddle.net/chugh97/YWVA8/56/ 我已冻结 Inv No 列。我想要实现的是仅冻结复选框列,以便当有人滚动复选框列时不会从用户视图中隐藏。

【问题讨论】:

  • @Oleg 如何使用 C# 代码设置列的冻结属性。 JQGridColumn 类有一个名为“Fixed”的属性。这是映射到冻结的相同属性吗?

标签: jqgrid


【解决方案1】:

最近我在同一个问题上回答了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的文本中找到。

【讨论】:

  • 如何使用 C# 代码设置列的冻结属性。 JQGridColumn 类有一个名为“Fixed”的属性。这是映射到冻结的相同属性吗?
  • @chugh97:可能是您对一些基于纯 JavaScript jqGrid 的商业产品的问题。我不使用这个,所以无法回答你的问题。在jqSuite forum 上应该回答这个问题。
  • 当我尝试按照您的代码修复冻结 div 的位置时,我在源代码中找不到 fbDiv 和 fhDiv。我可能做错了什么?
  • @chugh97:“我找不到 fbDiv 和 fhDiv”是什么意思?您可以在我的代码示例中显示问题吗?如果问题存在于您的代码 中,您应该首先验证setFrozenColumns 之前是否被调用过并且它成功。典型的问题来自limitations。只需在the line 上设置断点并验证。
  • 我的意思是当我去查看页面的视图源时,我找不到fbDiv和fhDiv。您从该链接发送给我的代码检查 fbDiv 的存在,如果找到则执行操作。
猜你喜欢
  • 2011-06-02
  • 1970-01-01
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 2015-07-01
相关资源
最近更新 更多