Изменение стилей или добавление класса для отдельных строк jqGrid - PullRequest
0 голосов
/ 24 января 2011

Возможно ли изменить стиль или присоединить класс к определенным строкам в jqGrid?У меня есть сетка, показывающая кучу счетов.Если статус счета (один из столбцов) указан как VOID, я хочу, чтобы текст в строке был красным.Я смотрю на событие afterInsertRow в минуту, которое позволит мне проверить данные, но я не уверен, смогу ли я добраться до фактической «строки».Я действительно думал, что это было то, что было rowelem (последний параметр).

Заранее спасибо, Ллойд

Ответы [ 2 ]

2 голосов
/ 24 января 2011

Вы можете проверить значение статуса счета в loadComplete обработчике событий вместо afterInsertRow :

var grid = $("#list");
grid.jqGrid({
    // other jqGrid parameters
    loadComplete: function() {
        var ids = grid.jqGrid('getDataIDs');
        for (var i=0;i<ids.length;i++) {
            var id=ids[i];
            if (grid.jqGrid('getCell',id,'invoiceStatus') === 'VOID') {
                $('#' + id, grid[0]).css ({color: 'red'});
            }
        }
    }
});

Небольшая демонстрация, которая отмечает все строки, имеющие 'test 'text в столбце' Client 'вы можете увидеть здесь live.

0 голосов
/ 24 января 2011

Как дополнение к ответу Олега, который в значительной степени ответил на вопрос. Мне нужно было продолжить, и только текст столбца «Пустота» отображается красным. Я думал, что выложу код, как это сделать на случай, если кто-нибудь натолкнется на это сообщение:

if ($list.jqGrid('getCell',id,'InvoiceStatus') === 'Void') {
                $list.jqGrid('setCell',id,'InvoiceStatus','',{color: 'red'});
            }

заменяет строку кода в примере Олега:

 $('#' + id, grid[0]).css ({color: 'red'});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...