启用scrollX 时标题列与DataTable 不对齐

2024-05-23

我遇到了这个插件反复出现的问题。

启用scrollX选项时,标题列未对齐。我尝试了在 stackoverflow 上阅读的许多解决方案,但没有成功。

可能是插件版本的问题?

但是,这是我的数据表设置:

 var oTable = $('#table').dataTable({
        "bJQueryUI": true,
        "aaData": jsonList,
        "bPaginate": true,
        "scrollX": true,
        "scrollCollapse" : true,
        "bLengthChange" : true,
        "bAutoWidth" : true,
        "oLanguage" : IT,
        "aoColumns": [
            { "mDataProp": "name", "sClass": "alignCenter" }, 
            { "mDataProp": "surname", "sClass": "alignCenter" }, 
            { "mDataProp": "age", "sClass": "alignCenter" },
            { "mDataProp": "city", "sClass": "alignCenter" }, 
            { "mDataProp": "state", "sClass": "alignCenter" }, 
            { "mDataProp": "work", "sClass": "alignCenter" },                 
        ],
        "aaSorting": [[1, 'asc']],
        "fnDrawCallback": function () {         
            formatTable();
        }

我的桌子风格:

class="display" cellspacing="0" width="100%"

库版本:

jquery-1.11.1.min.js - 数据表 1.10.3


当使用scrollX或scrollY参数在DataTables中启用滚动时,它会将整个表格拆分为两个或三个单独的HTML表格元素;页眉、正文以及页脚(可选)。这样做是为了提供以跨浏览器方式滚动数据表的不同部分的能力。

下面的代码将 div 包裹在 DataTable 周围,样式为“overflow as auto”。当dataTable执行完毕后,我们需要添加div。 我们可以这样做:

$('#DataTableID').DataTable({
  //"scrollX": true,            
  "initComplete": function (settings, json) {  
    $("#DataTableID").wrap("<div style='overflow:auto; width:100%;position:relative;'></div>");            
  },
});

如果您正在使用scrollX,scrollY,scrollXInner或sScrollXInner选项 - 删除它们。它们可能会引起问题。

来源 :http://sforsuresh.in/datatables-header-body-not-aligned/ http://sforsuresh.in/datatables-header-body-not-aligned/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

启用scrollX 时标题列与DataTable 不对齐 的相关文章