DataTables - scrollX导致压缩标题

时间:2017-07-17 04:55:54

标签: javascript jquery css datatables

所以我使用DataTables并将scrollX参数设置为true,但这会导致thead列崩溃。

注意:数据表作为反应项目的一部分出现在Bootstrap模式中。

enter image description here

我该如何解决这个问题?

当我点击其中一列时,会使其刷新,它会自行修复。此外,如果我删除scrollX,它也不会崩溃。

初始化代码:

$('#item-search').DataTable( {
          ajax: {
            "data": {
              type: "map_items",
              map_id: this.map_id
            },
            "dataSrc": (r) => {
              console.log(r);
              return r.data;
            },
            type: "POST",
            url: "src/php/search.php"
          },
          autoWidth : false,
          columns: [
            {
              "data": "brand"
            },
            {
              "data": "name"
            },
            {
              "data": "quantity"
            },
            {
              "data": "measurement"
            },
            {
              "data": "type"
            },
          ],
          dom: 'rtlip',
          language: {
            "info": "Showing page _PAGE_ of _PAGES_",
            "infoFiltered": ""
          },
          lengthMenu: [ 1, 2, 3 ],
          pageLength: 1,
          processing: true,
          responsive: true,
          scrollX: true,
          select: {
            style: "multi"
          },
          serverSide: true
      });

4 个答案:

答案 0 :(得分:1)

在数据表初始化中包含以下属性。

autoWidth : true

随着添加此

"fnInitComplete": function(oSettings) {
                        $( window ).resize();
                    }

 "fnDrawCallback": function(oSettings) {
      $( window ).trigger('resize');
    }

答案 1 :(得分:1)

应使用以下代码初始化DataTable以实现水平滚动:

"sScrollX": "100%",
"sScrollXInner": "110%",
"bScrollCollapse": true,
"fixedColumns":   {
   "leftColumns": 1
}

答案 2 :(得分:0)

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

答案 3 :(得分:0)

这项工作在我的 angular 项目中

this.dtTarifas = {
      scrollX: true,
      autoWidth: false,
      lengthChange: false,
      responsive: false
}

我的 package.json 中有 "angular-datatables": "7.0.0"