2013-03-06 96 views
5

是否有任何方法可以通过编程方式更改显示的行数,而无需从下拉列表中手动选择?jQuery数据表以编程方式更改显示的行数

我知道如何更改默认的行数。当表第一次加载时,我希望它加载所有行,然后“刷新”表可能只显示前10行。但是我想通过程序更新表格而不是从下拉列表中选择一个数字。

我的问题是,如果默认的行数少于总行数,那么当更改下拉数字或通过对行进行分页后显示隐藏行时,这些行并不具有所有的css也没有js功能,我把它归因于所有的行。出于某种原因,只有默认显示的行具有所有功能,后面的行显示不具有。

我认为用最少的代码修复这个问题最简单的方法就是默认加载所有行,然后编程改变显示的行数,只显示前10个左右。

感谢您的任何帮助。

+2

什么是表演项目?你的意思是默认设置下拉列表的值吗? – 2013-03-06 16:58:20

+0

您的问题没有足够的信息给我们提供正确的答案。请添加任何相关代码,并更详细地描述您所遇到的问题。 – 2013-03-06 17:07:05

+0

请重新表达您的问题,以便我们能够帮助您。 – anacarolinats 2013-03-06 17:15:03

回答

5

首先,你应该设置数据表作为变量:

var oTable = $('#some_selector').dataTable({ 
    //some properties 
}) 

,然后你可以在飞行中设定的设置:

var oSettings = oTable.fnSettings(); 
oSettings._iDisplayLength = 5; 

,并简单地重新绘制你的数据表与新设置:

oTable.fnDraw(); 
+1

谢谢,它对我来说就像一个魅力。我想知道为什么它不是由提问者选择的。 – 2013-07-25 11:33:32

0

先前的答案不适合我,可能是因为我使用的是DT的更新版本。到displayLength设置为20这个工作对我来说:

table.context["0"]._iDisplayLength = "20"; 
table.draw(); 

我使用的数据表1.10.10

相关问题