我正在使用最新的jqgrid包4.4.5。 我想使标题列自动换行。 我读过Oleg answer,但似乎没有使用最新的jqgrid。
firebug中出现的错误消息是“$ grid [0] ._ complete”未定义,当调整列大小时,错误为“this.grid is undefined”。
有没有解决办法让它发挥作用?
编辑:更改$ grid.jqGrid('setFrozenColumns')后;到$ grid.triggerHandler(“jqGridAfterGridComplete”); 现在,当我调整列的大小时,冻结的div列也不会调整大小。
注意:我使用局部变量更改“this.grid”。 var grid = this.grid ||这;
这是图片link。
答案 0 :(得分:4)
从版本4.3.2开始,jqGrid支持Events,它允许注册多个回调(事件处理程序)。像_complete
这样的旧内部回调被删除了。
而不是the demo
中的行$grid[0].p._complete.call($grid[0]);
你现在可以使用
$grid.triggerHandler("jqGridAfterGridComplete");
更新:当前版本的jqGrid在the line中有一个错误。它将使用this
代替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 :我发布了the bug report。我可以告诉你,the fix已经应用在github上jqGrid的主代码中了。
刚刚发布的4.5.0版包含修复程序。