2013-12-20 33 views
4

我一直在使用dataTables一段時間,它是一個堅實的工具。有一個設置初始顯示長度的選項,iDisplayLength。我想在表初始化後以編程方式更改顯示長度。以編程方式更改數據表的DisplayLength

我的自定義數據表窗口小部件位於模態內。當我調整模式時,我調整了數據表的大小。我也想在同一resize函數中調整顯示長度。

resize: function(event, ui) { 
    $('.dataTables_scroll').css('height', magicRation * $('#modal').height()); 
    $('.dataTables_scrollBody').css('height', $('.dataTables_scroll').height() - 91); 
}, 
var displayLength = Math.floor($('.dataTables_scrollBody').outerHeight()/$('#DataTables_Table_0 > tbody td').first().outerHeight()); 

回答

3

我不認爲有這樣的「公共的API」的方法。儘管我已經使用過,但還是有一些解決方法。它在DataTables 1.9.4工作...不知道任何其他版本

var table = $('#table').dataTable(); 
table.fnSettings()._iDisplayLength = displayLength; //variable from your question 
table.fnDraw(); //redraws the table 

免責聲明:我不知道這可能會影響內部...我通常回避手動設置下劃線爲前綴的變量,筆者離開可能並不打算開發者訪問那些沒有API的人,但我沒有遇到任何副作用......里程可能會有所不同,等等等等。

相關問題