JqG​​rid列在IE中被切断(滚动条显示)但在Firefox中很好(没有滚动条)

时间:2012-08-15 11:37:39

标签: jquery internet-explorer firefox jqgrid

我正在使用带有大量列的jqGrid。我有一个问题,其中一些列在Internet Explorer中被切断(我在IE9上测试)所有列在Firefox中都很好。任何人都可以想到这个问题的原因或解决方法。我在Firefox和IE中的最后一个cols下面放了一个截图。 IE会弹出一个水平滚动条,但这很痛苦,因为我显示了100行,所以你必须在浏览器中向下滚动很多,然后滚动查看最后一列。试图看看是否有摆脱那个网格水平滚动条

这是Firefox,其中显示了所有16列

enter image description here

这是Internet Explorer,其中只显示了14个完整列,并且第15列(ResourceType)在列的1/2中被切断

enter image description here

有关如何让所有列显示在Internet Explorer中的任何建议

2 个答案:

答案 0 :(得分:2)

我认为您遇到的问题与the bug report中描述的问题相同。在这种情况下,您应该从

更改内部the last line功能的cellWidth
return testCell !== 5;

return Math.abs(testCell – 5) > 0.1;

您可以在jquery.jqGrid.src.js中执行此操作,也可以尝试使用the file。它解决了我的情况下错误计算网格宽度的问题。

答案 1 :(得分:1)

我使用的是Jqgird 4.5.2,Chrome版本是版本28.0.1500.71。 上面的解决方案列表在我的环境中不起作用。我不知道为什么,所以我尝试记录testCell!== 5。 它在firefox中返回false,在chrome中返回false。 最后我在cellwidth中添加return false而不关心比较结果。 它有效。

cellWidth : function () {
    var $testDiv = $("<div class='ui-jqgrid' style='left:10000px'><table class='ui-jqgrid-btable' style='width:5px;'><tr class='jqgrow'><td style='width:5px;'></td></tr></table></div>"),
    testCell = $testDiv.appendTo("body")
        .find("td")
        .width();
    $testDiv.remove();
    return false;
},

希望它能有所帮助。