有没有办法以编程方式更改显示的行数而无需从下拉列表中手动选择?
我知道如何更改默认的行数。当表首次加载时,我希望它加载所有行,然后“刷新”表,可能只显示前10行。但我想刷新程序表而不必从下拉列表中选择一个数字。
我的问题是,如果默认行数小于总行数,那么在更改下拉数字后或通过遍历行显示隐藏行时,这些行不具有所有css,也没有我归于所有行的js功能。出于某种原因,只有默认显示的行具有所有功能,后面显示的行不具有。
我认为使用最少量代码修复此问题的最简单方法是默认加载所有行,然后以编程方式更改显示的行数,仅显示前10行。
感谢您的帮助。
答案 0 :(得分:5)
首先,您应将数据表设置为变量:
var oTable = $('#some_selector').dataTable({
//some properties
})
然后您可以动态设置设置:
var oSettings = oTable.fnSettings();
oSettings._iDisplayLength = 5;
只需使用新设置重新绘制数据表:
oTable.fnDraw();
答案 1 :(得分:1)
之前的回答对我不起作用,可能是因为我使用的是较新版本的DT。将displayLength设置为20这对我有用:
table.context["0"]._iDisplayLength = "20";
table.draw();
我正在使用数据表1.10.10