两个光滑的网格问题:1。如何突出显示列标题,2。如何知道滚动结束何时发生

时间:2012-10-08 10:16:34

标签: slickgrid tableheader

我正在使用slickgrid构建一个网站,我遇到了这两个问题:

  1. 我想在用户点击列标题时选择整个列。我已经能够改变这个example中给出的单元格的样式。我无法弄清楚如何更改列标题的样式

  2. 如何知道在slickgrid中滚动结束的时间。我正在做

    $(".slick-viewport").scroll(function () {
        if ($(this)[0].scrollHeight - $(this).scrollTop() <= $(this).outerHeight()) {
            handle_end_of_scroll()
        }
    })
    
  3. 但我依赖于光滑网格体的css类名称,如果我最后将slickgrid更新为更新版本,我可能会遇到问题。如果slickgrid的实现发生变化,我可能不得不更新这部分代码。

1 个答案:

答案 0 :(得分:1)

更改标题的样式

您可以强制更新标题,这会触发onHeaderCellRendered事件,然后您可以在其中更改标题上的类。但是很乱。

grid.onHeaderCellRendered.subscribe(function (e, args) {
    var headerCell = args.node;
});
grid.updateColumnHeader('columnID');

检查是否滚动到结束

直接滚动事件的绑定总是很糟糕。您应该订阅onViewportChanged事件和getViewport方法,以检查您是否已到达目的地。

grid.onViewportChanged.subscribe(function () {
    var lastRow = grid.getViewport().bottom;
    if (lastRow >= grid.getDataLength() - 1) {
        console.log('at bottom');
    }
});