使用新API设置宽度时出现jqGrid错误

使用新API设置宽度时出现jqGrid错误,jqgrid,Jqgrid,我正在使用新的API设置jqGrid的宽度,如下所示: $('#grid').jqGrid('setGridWidth', $(window).width() * 0.98); 问题是,在IE7中,我遇到了以下错误: “p.cellLayout”为空或不是对象 这只发生在IE7、IE8、Firefox和Chrome中。是否有其他人遇到此问题并解决了此问题?可能您尝试在错误的位置使用setGridWidth函数。我建议您将此调用放在loadComplete或gridComplete事件中 更新:

我正在使用新的API设置jqGrid的宽度,如下所示:

$('#grid').jqGrid('setGridWidth', $(window).width() * 0.98);
问题是,在IE7中,我遇到了以下错误:

“p.cellLayout”为空或不是对象

这只发生在IE7、IE8、Firefox和Chrome中。是否有其他人遇到此问题并解决了此问题?

可能您尝试在错误的位置使用setGridWidth函数。我建议您将此调用放在loadComplete或gridComplete事件中

更新:我没有IE7,所以我不能测试这个问题。jqGrid的参数cellLayout具有默认值5,并记录在上。此参数在setGridWidth函数中使用。如果您不清楚为什么这个参数应该为null,但是您可以在调用setGridWidth之前进行验证。构造警报$'grid'[0].p.cellLayout;将显示此值。在调用setGridWidth之前,您可以尝试将该值设置为5,但如果您确实将该属性设置为null,则肯定会在其他地方出现问题


在所有情况下,比如你的问题,最好在你的问题中发布一个代码示例,这样其他人就可以重现你的问题。有时你有一个真正的问题不是在你描述的地方。因此,代码示例总是非常有用。

实际上,我是从gridComplete事件调用此方法的。我刚刚发现在gridComplete事件之前有另一个对该方法的调用。我把它取下来了,现在可以用了。谢谢