如何在IE6中正确滚动JQGrid?

时间:2010-03-04 13:02:24

标签: jquery jquery-ui internet-explorer-6 jqgrid

我有一个需要滚动的JQGrid。它在Firefox中运行良好,但在IE6中,网格保持静止,而其余内容在其下滚动。

可能是一个复杂因素是网格位于对话框内的标签内。

我已经搜索了所有地方,但我找不到解决此问题的方法,所以我转向Stackoverflow。这里有人知道可能导致这种行为的原因吗?

我正在使用jqgrid 3.5.3,如果重要的话。

3 个答案:

答案 0 :(得分:1)

我和IE6有同样的问题。我花了一段时间来修复,但这是我的解决方案,我希望它适用于其他人。

您需要在JQGrid上的寻呼机部分添加2个项目,您可以在其中定义添加,编辑,删除等属性。

  1. scroll:1 - 这告诉对话框滚动
  2. afterShowForm:function(form){form.css(“height”,“300px”);这解决了IE6的一些绘制问题,它再次强制对话框滚动。
  3. 如果您希望对话框滚动并同时从该部分删除任何现有的高度属性,则需要同时使用这两者。你不必创建form.css文件,至少我没有,它只是按原样运行。

            { add: false, edit: true, del: false, refresh: true, search: true }, //general options
            {
            //Options for the Edit Dialog
                editCaption: 'Edit Data',
            width: 500,
            modal: true,
            scroll: 1,
            closeAfterEdit: true,
            onclickSubmit: function(eparams) {
                var sr = jQuery("#MyGridTbl").getGridParam('selrow');
                var currentRow = jQuery("#MyGridTbl").getRowData(sr);
                return { Id: currentRow.Id };
            },
            afterShowForm: function(form) { form.css("height", "300px"); } 
        },
            {
            },
            {
            },
            {} //Search options
        );
    

答案 1 :(得分:1)

我遇到过类似的问题。我的网格在div里面。这个div有垂直滚动条。我的问题是,当我滚动div时,网格保持静止。花了我一些时间来弄清楚是div的定位破坏了网格的位置。将div的位置更改为relative,并按原样滚动。 无论如何只是想我分享,因为我发现这个论坛非常(!)有用。

谢谢, 托马斯

答案 2 :(得分:0)

为什么要为2001年发布的浏览器(9岁!)构建功能,甚至不再受其创建者的支持?我知道他们正式“支持”IE 6直到2014年,但由于缺乏对Web标准和新技术的支持,我建议您的项目访问者升级他们的系统。 (因为除了缺乏对现代网络糖果的支持外,它只是一个有缺陷且不安全的浏览器)