3

我正在使用 SlickGrid 2.0a 版来实现分组功能。一切都很好(有很多定制)。我正在尝试更改background-color翻转事件中的 for ENTIRE ROW。

我试过这个:

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

和这个:

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

这适用于单个单元格:

.lr:hover { background: #dee0fe; }

但是整行似乎没有任何效果,而且我从未见过这样的例子。我也将单元格设置为selectable:true, focusable:false.
好像应该很容易...

谢谢

4

4 回答 4

6

这对我来说很好:

.slick-row:hover { background-color: red; }
于 2011-10-31T09:53:19.723 回答
3

只是猜测,基于您问题中的 CSS:

 .slick-row:hover .lr {
     background-color:#dee0fe;
 }
于 2011-04-13T17:54:26.937 回答
1

我自己刚刚尝试过这样做,这是我想出的简化版本。您可以对此进行大量整理,并假设您的列没有更改,缓存散列的内部部分是有意义的。

使用 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");
});
于 2013-02-25T17:41:10.407 回答
0

您需要做的就是获取行中的单元格集合,并在每个单元格的鼠标进入/离开时设置它们的样式:

$('.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;
}
于 2011-06-03T18:23:35.423 回答