如何使Jqgrid冻结列自动换行

我正在使用最新的jqgrid包4.4.5。 我想使标题列自动换行。 我读过Oleg的答案,但似乎没有使用最新的jqgrid。

firebug中出现的错误消息是“$ grid [0] ._ complete”未定义,当调整列大小时,错误为“this.grid is undefined”。

有什么解决方案可以使它工作吗?

编辑 :我更改$ grid.jqGrid(’setFrozenColumns’)之后; 到$ grid.triggerHandler(“jqGridAfterGridComplete”); 现在,当我调整列的大小时,冻结的div列也不会resize。

注意 :我使用局部变量更改“this.grid”。 var grid = this.grid || 这个;

这是图像链接 。

从版本4.3.2开始,jqGrid支持允许注册多个回调的事件(事件处理程序)。 删除了像_complete这样的旧内部回调。

而不是演示中的行

 $grid[0].p._complete.call($grid[0]); 

你现在可以用

 $grid.triggerHandler("jqGridAfterGridComplete"); 

更新 :当前版本的jqGrid有一个错误。 它将用于代替ts

 if($.isFunction(p.resizeStop)) { p.resizeStop.call(this,nw,idx); } 

代替

 if($.isFunction(p.resizeStop)) { p.resizeStop.call(ts,nw,idx); } 

事件jqGridResizeStop没有问题。 所以我建议改用它:

 $grid.bind("jqGridResizeStop", function () { resizeColumnHeader.call(this); fixPositionsOfFrozenDivs.call(this); fixGboxHeight.call(this); }); 

查看修改过的演示 。

更新2 :我发布了错误报告 。 我可以通知你, 修复已经应用在github上的jqGrid的主代码中。

刚刚发布的4.5.0版包含了修复程序。