2015-09-29 88 views
0

我想創建一個具有垂直但不水平滾動的數據表。我使用這裏創建表語句如下:垂直滾動設置影響水平滾動使用數據表

$(document).ready(function() { 
    $('#order-attention-table').DataTable({ 
     "bFilter": false, 
     "scrollY": 300, 
     "scrollX": false, 
     "paging": false, 
     "ordering": false, 
     "info":  false, 
    }); 
}); 

目前我列比屏幕寬,這將導致水平滾動條與「scrollX」甚至會出現:假的。我可以讓水平滾動條不出現的唯一方法是刪除「scrollY」:300.當我刪除垂直滾動屬性時,水平滾動條消失。

所以我的問題是兩部分。

  1. 如何強制列以適應屏幕?
  2. 如何停止水平滾動條,同時仍然允許垂直滾動?

回答

1

解決方案#1

您可以使用Responsive分機,如果列中的數據不適合到頁面/容器。

var table = $('#example').DataTable({ 
    "searching": false, 
    "scrollY": 300, 
    "paging": false, 
    "ordering": false, 
    "info":  false,   
    "responsive": true 
}); 

DEMO

this jsFiddle代碼和演示。

溶液#2

可以與columnDefs.width禁用自動寬度計算autoWidth:false並設定最小寬度,如下所示。

var table = $('#example').DataTable({ 
    "searching": false, 
    "paging": false, 
    "ordering": false, 
    "info":  false, 
    "autoWidth": false, 
    "columnDefs": [ 
     { "targets": "_all", "width": "1%" } 
    ]   
}); 

你也可以添加compact類表,減少表的寬度。

<table id="example" class="display compact" cellspacing="0" width="100%"> 

DEMO

this jsFiddle代碼和演示。

+0

我將你的代碼複製到我的html文檔中,完全沒有任何改變。水平滾動條仍然存在,列不響應。 – user2725919

+0

@ user2725919,您還需要包含用於響應式擴展的JS文件(截至目前爲止爲'// cdn.datatables.net/responsive/1.0.7/js/dataTables.responsive.min.js')或使用[下載構建器](http://datatables.net/download/index)來獲取包含所有必要文件的鏈接。 –

+0

感謝Gyrocode,它現在幾乎在工作......但是最後一列仍然從屏幕上掉下來,這次沒有滾動條,最後一列就消失了。對此有何想法?我真的不需要列來響應我只需要它們都出現在720px寬的頁面上。 – user2725919