0

问题是非常基本的。

如果您使用 IE9访问http://flexigrid.info/ 并浏览“示例 2 ”部分,并且列在可见位置上调整大小,它将激活水平滚动条。当您悬停在行上时,您会体验到 Flexigrid 尺寸的增长。我没有体验过IE7和IE8,只有IE9。这个问题有高度:自动配置。我还没有找到解决方案。请帮我!

4

3 回答 3

2

实际上,@Szenti 发布的解决方案仅适用于页面上的 1 个 flexigrid,如果有多个,它只会采用它找到的第一个 bDiv 的高度值并将修复应用于所有。

我认为我的修订版将适用于页面上同时存在许多 flexigrid 的情况。

ie9Fix: function() {
            var bDivH = $(this.bDiv).height();
            var bDivTH = $('table', this.bDiv).height();
            if(bDivH != bDivTH && p.height=='auto') {
               $(".bDiv").css({height: bDivTH + 18});
            }
        },
于 2012-04-02T04:13:24.903 回答
1

我有同样的问题。感谢@Szenti 的回答,但是,一旦完成,当表格中的结果通过 AJAX 重新生成时,我就会遇到 flexigrid 调整大小问题。这发生在最新的 Chrome、Firefox 和 IE7/8 中。

所以我在混合中添加了一个(有些人会说脏的)浏览器嗅探。

全局变量:

var ie9 = false;
if ($.browser.msie && parseInt($.browser.version, 10) == 9) {
    ie9 = true;
}

然后在调用@Szanti 的方法的地方,我将其包装在:

if (ie9) {
 this.ie9Fix();
}

现在适用于所有浏览器。

于 2012-02-10T17:09:03.183 回答
0

解决方案:

您必须编辑 flexigrid js。用这个附加 g 对象:

ie9Fix: function() {
if($(".bDiv").height() != $(".bDiv table").height() && p.height=='auto') {
   $(".bDiv").css({height: $(".bDiv table").height() + 18});
}
},

您必须在 2 个地方调用 ie9Fix 函数

  • 在 g.dragEnd() 函数最后一行 (this.ie9Fix();)
  • 在 g.addRowProp() 中,您必须编写一个新事件:

    .mouseleave(function(){ g.ie9Fix(); })

而已!

于 2011-04-29T07:21:57.997 回答