不幸的是,我无法找到有关我的具体问题的任何帮助。 我试着简化它:
我的网格包括显示的列(A)和隐藏的列(B)以及其他显示的列(C,D)。使用自定义按钮,我可以在这两列之间切换,以便隐藏A并显示B,反之亦然。
我的目标如下:
如果(显示)A的宽度已经改变,(隐藏)B的宽度也应该改变。
我目前认识到这一点:
resizeStop: function () {
var $self = $(this);
shrinkToFit = $self.jqGrid("getGridParam", "shrinkToFit");
$self.jqGrid("setGridWidth", this.grid.newWidth, shrinkToFit);
var a = $self.jqGrid("getGridParam","colModel");
$self.jqGrid("setColWidth", "customers.name_short",a[2].width);
},
我工作,但我必须等待一个诡计,除此之外,我得到以下日志:“过多的递归”。函数setColWidth
似乎被调用超过300次。
我分析了setColWidth
的代码,但我找不到任何可以称之为自己的提示。
任何人都可以帮助我吗? 提前谢谢!
答案 0 :(得分:0)
我想您使用here和the answer中的方法setColWidth
。在resizeStop
回调中使用它是错误的。
您写道:“使用自定义按钮,我可以在这两列之间切换,这样A就会被隐藏而B会被显示,反之亦然。”在我看来,您需要拨打一个电话在使列A或列B可见(在自定义按钮的setColWidth
事件句柄中)之后,直接使用click
方法。它应该解决问题。
更新:以下演示http://jsfiddle.net/OlegKi/m7f9ghwq/18/演示了该方法。