我一直在使用dataTables一段时间,它是一个可靠的工具。可以选择设置初始显示长度iDisplayLength。我希望在表初始化后以编程方式更改显示长度。
我的自定义数据表小部件位于模态中。当我调整模态的大小时,我调整了数据表的大小。我还想在相同的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());
答案 0 :(得分:4)
我认为没有一种“公共API”方法可以做到这一点。虽然我过去曾经使用过,但仍有一种解决方法。它适用于DataTables 1.9.4
...不确定任何其他版本
var table = $('#table').dataTable();
table.fnSettings()._iDisplayLength = displayLength; //variable from your question
table.fnDraw(); //redraws the table
免责声明:我不确定这可能会对内部产生什么影响...我通常会回避手动设置下划线前缀变量,因为作者可能不打算开发人员访问那些没有API的人,但我没有遇到任何副作用......里程可能会有所不同等等。