Как заставить JQGrid правильно прокручиваться в IE6? - PullRequest
0 голосов
/ 04 марта 2010

У меня есть JQGrid, который нужно прокрутить. В Firefox он работает нормально, но в IE6 сетка остается неподвижной, в то время как остальная часть содержимого прокручивается под ней.

Что может быть усложняющим фактором, так это то, что сетка находится внутри вкладок, внутри диалога.

Я погуглил повсюду, но не могу найти решение этой проблемы, поэтому я перехожу к Stackoverflow. Кто-нибудь здесь знает, что может вызвать такое поведение?

Я использую jqgrid 3.5.3, если это имеет значение.

Ответы [ 3 ]

1 голос
/ 11 августа 2010

У меня была такая же проблема с IE6. Мне потребовалось некоторое время, чтобы исправить, но вот мое решение, я надеюсь, что оно работает для других.

Вам необходимо добавить 2 элемента в раздел пейджера в JQGrid, где вы определяете атрибуты добавления, редактирования, удаления и т. Д.

  1. scroll: 1 - диалоговое окно прокручивает
  2. afterShowForm: function (form) {form.css ("height", "300px"); } - Это исправляет некоторые проблемы с рисованием в IE6, что снова заставляет диалог прокручиваться.

Вам необходимо оба этих параметра вместе, если вы хотите, чтобы диалоговое окно прокручивалось, а также удаляло любой существующий атрибут высоты из раздела. Вам не нужно создавать файл 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 голос
/ 12 августа 2010

У меня была похожая проблема. Моя сетка была внутри div. И этот div имел вертикальную полосу прокрутки. Моя проблема была в том, что когда я прокручивал div, сетка оставалась статичной. Мне потребовалось некоторое время, чтобы понять, что именно позиционирование div испортило положение сетки. Поменял положение div на относительное и прокручивает как надо. В любом случае, я поделился этим, поскольку считаю этот форум очень (!) Полезным.

Спасибо, Tomasz

0 голосов
/ 04 марта 2010

Зачем нужна функциональность для браузера, который был выпущен в 2001 году (9 лет!) И больше не поддерживается их создателями? Я знаю, что они официально «поддерживают» IE 6 до 2014 года, но из-за отсутствия поддержки веб-стандартов и новых технологий, я бы посоветовал посетителям вашего проекта обновить их систему. (потому что помимо отсутствия поддержки современных веб-конфет, это просто глючный и небезопасный браузер)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...