我有这个插件经常出现的问题。
启用 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();
}
Run Code Online (Sandbox Code Playgroud)
我的桌子风格:
class="display" cellspacing="0" width="100%"
Run Code Online (Sandbox Code Playgroud)
库版本:
jquery-1.11.1.min.js - 数据表 1.10.3
Sur*_*shi 14
当使用 scrollX 或 scrollY 参数在 DataTables 中启用滚动时,它会将整个表格拆分为两个或三个单独的 HTML 表格元素;页眉、正文和(可选)页脚。这样做是为了提供以跨浏览器方式滚动 DataTable 的不同部分的能力。
下面的代码在 DataTable 周围包裹了一个 div,样式为“overflow as auto”。我们需要在dataTable执行完成后添加div。我们可以这样做:
$('#DataTableID').DataTable({
//"scrollX": true,
"initComplete": function (settings, json) {
$("#DataTableID").wrap("<div style='overflow:auto; width:100%;position:relative;'></div>");
},
});
Run Code Online (Sandbox Code Playgroud)
如果您正在使用 scrollX、scrollY、scrollXInner 或 sScrollXInner 选项 – 删除它们。它们可能会引起问题。
来源:http : //sforsuresh.in/datatables-header-body-not-aligned/