2014-02-20 1 views
0

В этом примере:Slickgrid группировки строк в стиле

http://mleibman.github.io/SlickGrid/examples/example-grouping

Вы можете сгруппировать строки по определенным колонкам, но хотелось бы строк внутри групп, чтобы быть с отступом. Есть ли способ добавить класс в сгруппированные строки или что-то еще? Кажется, я не могу найти хороший способ сделать это.

Я создаю группировку, выполнив:

function groupByDuration() { 
    dataView.setGrouping({ 
    getter: "duration", 
    formatter: function (g) { 
     return "Duration: " + g.value + " <span style='color:green'>(" + g.count + " items)</span>"; 
    } 
    }); 
} 

Спасибо!

ответ

1

Я решил эту проблему, добавив свой собственный форматера в первой колонке.

var myFormatter = function(row, cell, value, columnDef, dataContext) { 
    var groupings = this.getGrouping().length; 
    var indentation = groupings * 15 + 'px'; 
    var spacer = '<span style="margin-left:' + indentation + '"></span>'; 
    return spacer + value; 
}; 

Я привязываю функцию к данным пользователя slickgrid, чтобы получить доступ к группировкам.

0

Попробуйте это ...

$(".slick-row:not(.slick-group)").css('margin-left','20px'); 

Это даст вам все строки (дивы), которые не имеют класс slick-group то есть кто сгруппированные строки.

Для вложенных групп, вы должны проверить, есть ли какие-либо из родительского класса slick-group по closest() и применить запас соответственно

+1

Хотя это может быть приемлемым решением, объяснение немного не повредит и поможет пользователю лучше понять. – nKn

+0

да, но это не будет обрабатывать случай, когда у меня есть вложенные группы ... – Vic

+0

Спасибо ... Я отредактировал мой ответ –