jqgrid: как отформатировать основные / подробные сетки? - PullRequest
0 голосов
/ 21 января 2012

У меня есть jqgrid с подсетью.

Я пытаюсь применить разные цвета к сетке мастера и детализации. У меня есть два правила: первое - чередовать нечетные и парные цвета, а другое - применять конкретный CSS к строке на основе значений определенного поля.

Сетка master и details, содержит следующие функции gridComplete, где очевидно, что индекс дочерних узлов меняется, поскольку таблицы содержат разные поля:

gridComplete: function () {
            var _rows = $(".jqgrow");
            for (var i = 0; i < _rows.length; i++) {
                _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].textContent;
                _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].innerText;
            }
           applyZebra("jqTicketgrid");
        }

Функция applyZebra обеспечивает чередование нечетных / парных цветов и уже была протестирована на другой сетке, которая не содержит подсетки. Для справки, я нашел выше решения в других решенных вопросах этого форума, и оба работают с «простыми» jqgrids (не master / detail).

ПРОБЛЕМА Основная сетка форматируется только тогда, когда я щелкаю, чтобы развернуть строки подробностей, в то время как подсетка деталей никогда не меняет цвета и не применяет формат на основе содержимого ячейки ...

Где я не прав? Pheraps Я должен перехватить другое событие, которое не является gridComplete? В противном случае с сеткой и подсетями невозможно использовать атрибуты _rows [x] и childNodes [y]?

Пожалуйста, попросите разъяснений, если необходимо, спасибо.

Заранее спасибо!

1 Ответ

0 голосов
/ 22 января 2012

Полагаю, ошибка в вашем коде в том, что вы используете $(".jqgrow") вместо $(".jqgrow", this), где this внутри gridComplete будет либо элементом DOM <table> сетки, либо подстрокой (я полагаю вы используете сетку в качестве подсетки ).

Кроме того, я бы не советовал вам использовать текущий код вообще. Гораздо эффективнее и проще в использовании cellattr. Параметр rawObject позволяет получить доступ ко всем другим ячейкам текущей строки. В ответе вы найдете пример реализации.

...