数据表单个列搜索与滚动不兼容

时间:2015-06-16 09:45:24

标签: jquery css datatables

我使用Datatables来显示超过一千个表行。我使用individual column search搜索特定列。我用以下内容初始化表:

var table = $('#example').DataTable( {
        "scrollX": true,
        "scrollY": "400px",
        "paging": false
    });

然而,当我搜索一列时,第二个左列溢出第一个(固定)列。 (请参见下图。)

the company field is partly behind the username

我怀疑这是因为每次搜索后重新分配列的宽度:第一列用于包含更长的用户名,但在搜索之后,它的宽度更小。

我尝试在第一列设置右边距,但没有帮助。

任何想法如何解决这个问题?

请找一个解决问题{j}的问题here。你应该在职业生涯中寻找“J”。

2 个答案:

答案 0 :(得分:1)

一段时间以来,数据表支持已知这个问题。 (请参阅thread)此问题已通过this changeset修复,据说是由于:

  

启用滚动并且列可见性切换为Javascript时   由于列宽计算方法克隆,会发生错误   错误的标题元素。

数据表' latest nightly release已修复此问题,但修复程序是两行,也可以轻松添加到当前版本中。

请注意,此问题也影响了ColVis,单列搜索和固定列。

答案 1 :(得分:0)

Datatables在Ajax渲染后重新计算列宽,所以我认为这是一种正常行为,但对于您的情况,您可以通过消除

来防止溢出
new $.fn.dataTable.FixedColumns( table );