Можно ли установить альтернативный цвет фона на jqgrid Treegrid - PullRequest
2 голосов
/ 28 июня 2011

Я начинаю тренироваться с jqGrid Treegrid, но я не вижу, чтобы установить альтернативный цвет строки обратно.Возможно ли это?

1 Ответ

3 голосов
/ 28 июня 2011

Если вы имеете в виду altRows и altclass параметры, то там не работает.Точно в момент инициализации сетки дерева (внутри setTreeGrid) некоторые параметры jqGrid будут сброшены.Как вы можете видеть здесь значение параметра altRows будет установлено на false.Причина изменения будет ясна, если вы представите, что расширение / свертывание узлов дерева может изменить порядок элементов дерева, поэтому у вас будет

enter image description here

от исходного дерева

enter image description here

ОБНОВЛЕНО : Обходной путь всегда существует.См. демо со следующим кодом:

var resetAltRows = function () {
    // I think one can improve performance the function a little if needed,
    // but it should be done the same
    $(this).children("tbody:first").children('tr.jqgrow').removeClass('myAltRowClass');
    $(this).children("tbody:first").children('tr.jqgrow:visible:odd').addClass('myAltRowClass');
};
$("#tree").jqGrid({
    url: 'AdjacencyTreeAltRows.json',
    datatype:'json',
    mtype:'GET',
    colNames: ["ID", 'Description', "Total"],
    colModel: [
        {name:'id', index:'id', width: 1, hidden: true, key: true},
        {name:'desc', width:180, sortable:false},
        {name:'num', width:80, sortable:false, align:'center'}
    ],
    treeGridModel:'adjacency',
    height:'auto',
    //altRows: true,
    //altclass: 'myAltRowClass',
    rowNum: 10000,
    treeGrid: true,
    ExpandColumn:'desc',
    loadComplete: function() {
        var grid = this;
        resetAltRows.call(this);
        $(this).find('tr.jqgrow td div.treeclick').click(function(){
            resetAltRows.call(grid);
        });
        $(this).find('tr.jqgrow td span.cell-wrapper').click(function(){
            resetAltRows.call(grid);
        });
    },
    ExpandColClick: true,
    caption:"TreeGrid Test"
});
...