2015-10-06 50 views
0

jQuery DataTables(1.10.9)的FixedColumns擴展(3.1.0)僅影響頁面上多個表格的第一個。將FixedColumns應用於多個表格

而數據表插件已將其餘規則應用於我的頁面上的所有表。

這裏是我怎麼設置我的插件:

var datatables_options = { 
     "bAutoWidth": true, 
     "sDom": '<"top"i>rt<"bottom"flp><"clear">', 
     "bPaginate": false, 
     "sPaginationType": "full_numbers", 
     "iDisplayLength": 10, 
     "bSort": true, 
     "bFilter": false, 
     "aaSorting": [], 
     "bInfo": false, 
     "bStateSave": false, 
     "iCookieDuration": 0, 
     "bScrollAutoCss": true, 
     "bProcessing": true, 
     "bJQueryUI": false, 
     "sScrollY": "475px", 
     "sScrollX": "100%", 
     "bScrollCollapse": true, 
     "sScrollXInner": "150%" 
    }; 
var fixedColumnTable = $("table.dataTable").DataTable(datatables_options); 
new $.fn.dataTable.FixedColumns(fixedColumnTable); 
+0

您使用的是什麼版本的jQuery DataTable? –

+0

DataTables 1.10.9和FixedColumns 3.1.0 – Kelsall

回答

1

SOLUTION

使用fixedColumns: true初始化選項,而不是初始化多個表。

var datatables_options = { 
    "fixedColumns": true, 
    "bAutoWidth": true, 
    // ... skipped ... 
}; 

刪除下面因爲不需要它的行:

new $.fn.dataTable.FixedColumns(fixedColumnTable); 

顯然它是由設計$.fn.dataTable.FixedColumns初始化只有一個表。

DEMO

this jsFiddle代碼和演示。

+0

謝謝你的回答。但是我的桌子目前像這樣工作。 我想要的是在左側列凍結每個表。目前它只在第一張桌子上做到這一點。 (所有表共享類名「dataTable」作爲文檔) – Kelsall

+0

@Kelsall,我不清楚我的答案,增加了更多細節。請參閱[我的示例](https://jsfiddle.net/mzj6zgbk/5/)以及兩個表如何修正第一列。 –

+0

啊,非常感謝!現在,這已將固定列應用於我的所有四個表格。 我想知道是否可以幫助解決這個代碼後似乎已經發生的另一個問題? 當頁面加載表格不可見時(表格包裝高度設置爲0),但在調整窗口大小後,表格會再次變爲可見。 我使用bootstrap,所以也許有一個已知的js衝突? – Kelsall