Два простых вопроса: 1. Как выделить заголовок столбца, 2. Как узнать, когда наступил конец прокрутки

Я создаю веб-сайт с помощью slickgrid, и у меня есть две проблемы:

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

  2. Как узнать, когда наступил конец прокрутки в slickgrid. сейчас я делаю

    $(".slick-viewport").scroll(function () {
        if ($(this)[0].scrollHeight - $(this).scrollTop() <= $(this).outerHeight()) {
            handle_end_of_scroll()
        }
    })
    

Но я зависим от имени класса css тела гладкой сетки, и у меня могут возникнуть проблемы, если я в конечном итоге обновлю slickgrid до более новой версии. Возможно, мне придется обновить эту часть кода, если изменится реализация slickgrid.


person Ranjith Ramachandra    schedule 08.10.2012    source источник


Ответы (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');
    }
});
person kavun    schedule 02.11.2013