SlickGrid изменить цвет фона строки при наведении курсора - PullRequest
3 голосов
/ 13 апреля 2011

Я использую версию 2.0a SlickGrid для возможности группировки. Все отлично работает (с большим количеством настроек). Я пытаюсь изменить background-color для ВСЕХ строк при событии опрокидывания.

Я пробовал это:

.slick-row { background-color:#dee0fe; } 

и это:

.slick-row.ui-state-active { background:#dee0fe; }

Это работает для отдельных ячеек:

.lr:hover { background: #dee0fe; }

но, похоже, ничего не работает на весь ряд, и я никогда не видел пример этого. У меня также есть ячейки, установленные на selectable:true, focusable:false.
Похоже, это должно быть легко ...

Спасибо

Ответы [ 4 ]

6 голосов
/ 31 октября 2011

Это прекрасно работает для меня:

.slick-row:hover { background-color: red; }
3 голосов
/ 13 апреля 2011

Просто предположение, основанное на CSS в вашем вопросе:

 .slick-row:hover .lr {
     background-color:#dee0fe;
 }
1 голос
/ 25 февраля 2013

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

При использовании вызовов API это должно выглядеть примерно так:

grid.onMouseEnter.subscribe(function (e) {
    var hash = {};
    var cols = grid.getColumns();

    for (var i = 0; i < cols.length; ++i) {
        hash[grid.getCellFromEvent(e).row][cols[i].id] = "hover";
    }

    grid.setCellCssStyles("hover", hash);
});

grid.onMouseLeave.subscribe(function (e) {
    grid.removeCellCssStyles("hover");
});
0 голосов
/ 03 июня 2011

Все, что вам нужно сделать, это получить коллекцию ячеек в строке и стилизовать их при помощи мыши, ввести / покинуть каждую ячейку:

$('.slick-cell').mouseenter(function () {
     $(this.parentNode.children).addClass('slick-cell-hovered') ;
});

$('.slick-cell').mouseleave(function () {
     $(this.parentNode.children).removeClass('slick-cell-hovered');
});


.slick-cell-hovered 
{
     background: #EBEFF2 none;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...