jqGrid, установка цвета bg для ячеек столбца при нажатии на заголовок столбца - PullRequest
0 голосов
/ 01 ноября 2010

Я использую jgGrid 3.8.У меня есть проблема.Я хочу покрасить фон ячеек, когда щелкает заголовок столбца.Я имею в виду, что возрастающие или убывающие данные bg цвета должны отличаться от цвета других столбцовКак я могу это сделать?

Большое спасибо.

1 Ответ

4 голосов
/ 01 ноября 2010

Вы можете использовать setCell метод внутри loadComplete дескриптор события. Событие loadComplete будет вызвано после загрузки отсортированных данных и после подкачки данных, так что это хорошее место для изменения цвета фона ячеек на основе текущего порядка сортировки:

loadComplete: function() {
    var ids = grid.jqGrid('getDataIDs');
    if (ids) {
        var sortName = grid.jqGrid('getGridParam','sortname');
        var sortOrder = grid.jqGrid('getGridParam','sortorder');
        for (var i=0;i<ids.length;i++) {
            grid.jqGrid('setCell', ids[i], sortName, '', '',
                        {style:(sortOrder==='asc'?'background:aqua;':
                                                  'background:yellow;')});
        }
    }
}

Рабочий пример, который делает это, вы можете увидеть вживую здесь .

ОБНОВЛЕНО : посмотрите также модифицированную демонстрацию . Результаты выглядят лучше, чем в предыдущем демо:

alt text

Показывает эффект градиента во всех браузерах, кроме Opera. В опере это так же, как и в предыдущем демо. В другом моем ответе я больше играю с эффектами цветового градиента.

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