Строка фильтра jqGrid не синхронизирована со столбцами сетки - PullRequest
1 голос
/ 13 февраля 2012

Пожалуйста, посмотрите на мой jsFiddle:

http://jsfiddle.net/chugh97/w3Kzt/1/

У меня фиксированная ширина jqGrid с включенной прокруткой и shrinktofit: false.Теперь, когда я перебираю 4-е поле в текстовом поле фильтра jqGrid, текстовые поля фильтра смещаются со столбцами jqGrid.Как это можно исправить?

1 Ответ

5 голосов
/ 13 февраля 2012

jqGrid имеет очень ограниченную поддержку навигации по клавиатуре. Я согласен с тем, что описанная вами проблема существует в текущей (v. 4.3.1) реализации jqGrid. Так что +1 от меня за вопрос.

Чтобы устранить проблему, я предлагаю следующее

$('#grid').closest('.ui-jqgrid-view')
    .find('.ui-jqgrid-htable .ui-search-toolbar .ui-th-column')
    .find('input, select')
    .focus(function (e) {
        var $header = $(e.target).closest('.ui-jqgrid-hdiv'),
            $body = $header.siblings('.ui-jqgrid-bdiv');

        setTimeout(function () {
            // we syncronize the scroll in the separate thread
            // to be sure that the new scrolling value
            // already set in the grid header
            $body[0].scrollLeft =  $header[0].scrollLeft;
        }, 0);
    });

Например, setTimeout требуется в веб-браузере Google Chrome.

См. Демо здесь .

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