Javascript 以编程方式更改DataTables的DisplayLength

Javascript 以编程方式更改DataTables的DisplayLength,javascript,jquery-ui,datatables,jquery-datatables,Javascript,Jquery Ui,Datatables,Jquery Datatables,我已经使用了一段时间,它是一个坚实的工具。有一个用于设置初始显示长度的选项。我希望在表初始化后以编程方式更改显示长度 我的自定义数据表小部件位于模式中。当我调整模式的大小时,我会调整数据表的大小。我还想在相同的resize功能中调整显示长度 调整大小:函数(事件,ui){ $('.dataTables_scroll').css('height',magicRation*$('.dataTables_scroll').height()); $('.dataTables\u scrollBody')

我已经使用了一段时间,它是一个坚实的工具。有一个用于设置初始显示长度的选项。我希望在表初始化后以编程方式更改显示长度

我的自定义数据表小部件位于模式中。当我调整模式的大小时,我会调整数据表的大小。我还想在相同的
resize
功能中调整显示长度

调整大小:函数(事件,ui){
$('.dataTables_scroll').css('height',magicRation*$('.dataTables_scroll').height());
$('.dataTables\u scrollBody').css('height',$('.dataTables\u scroll').height()-91);
},
var displayLength=Math.floor($('.dataTables_scrollBody').outerHeight()/$('.#dataTables_Table_0>tbody td').first().outerHeight());
我认为没有一种“公共API”方法可以做到这一点。虽然我过去用过,但有一种变通方法。它在数据表1.9.4中起作用。。。不确定是否有其他版本

var table = $('#table').dataTable();
table.fnSettings()._iDisplayLength = displayLength; //variable from your question
table.fnDraw(); //redraws the table
免责声明:我不确定这会对内部产生什么影响。。。我通常避免手动设置下划线前缀变量,因为作者可能不打算让开发人员在没有API的情况下访问这些变量,但我没有遇到任何副作用。。。里程可能会有所不同,等等