数据表 - 仅对某些列进行水平滚动

时间:2018-02-14 20:33:44

标签: javascript datatables

Datatables中的scrollX选项允许用户水平滚动网格 - 但是,在我的表中,我需要保留前两列,但允许下一个x列水平滚动。我没有看到任何关于如何做到这一点的好例子。

实施例: https://datatables.net/examples/basic_init/scroll_x.html

1 个答案:

答案 0 :(得分:1)

您可以通过根据scrollLeft值更改每个单元格的相对位置来实现此目的。

$('.dataTables_scrollBody').scroll(function (){
    var cols = 2 // how many columns should be fixed
    var container = $(this)
    var offset = container.scrollLeft()
    container.add(container.prev()).find('tr').each(function (index,row){ // .add(container.prev()) to include the header
        $(row).find('td, th').each(function (index,cell){
            if(index>=cols) return
            $(cell).css({position:'relative',left:offset+'px'})
        })
    })
})