1

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

这是显示所有 16 列的 Firefox

在此处输入图像描述

这是 Internet Explorer,其中仅显示了 14 个完整列,第 15 列(ResourceType)被截断了 1/2 列

在此处输入图像描述

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

4

2 回答 2

2

我想您遇到的问题与我在错误报告中描述的问题相同。在这种情况下,您应该将内部cellWidth函数的最后一行从

return testCell !== 5;

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

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

于 2012-08-15T16:44:19.060 回答
1

我使用的是 Jqgird 4.5.2,chrome 版本是 28.0.1500.71。上面的解决方案列表在我的环境中不起作用。我不知道为什么,所以我尝试记录 testCell!==5。它在 Firefox 中返回 false,在 chrome 中返回 false。最后,我在单元格宽度中添加 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;
},

希望它可以有所帮助。

于 2013-07-15T08:21:46.223 回答