Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change jquery datatables default row count shown

By default, datatables has 4 sizes of records to show: 10,25,50,100.

A) Is there a way to change this? I tried editing the jquery file to change the array to [30,60,90,120] itself and this destroyed it.

B) Is there a way to set the default selection size say to 50 (instead of 10) of this selector upon initializing when jquery builds it?

I can't find either of these items in the documentation.

like image 291
DeltaTango Avatar asked Feb 14 '12 15:02

DeltaTango


2 Answers

[Update because this answer seems to get some views] --

Updated Answer:

In later versions (I believe 1.10+), the API naming conventions changed, ditching the Hungarian notation. I believe the old conventions are aliased for compatibility, but the current conventions are:

lengthMenu pageLength 

Thus, the updated answers are:

A) it's the lengthMenu parameter: https://datatables.net/reference/option/lengthMenu

For example, here's how I have one of mine set:

"lengthMenu": [[10, 25, 50, 100, 200, -1], [10, 25, 50, 100, 200, "All"]], 

B) pageLength https://datatables.net/reference/option/pageLength -- optionally set this to whatever your default should be.

"pageLength" : 25, 

Original Answer

A) It's the aLengthMenu parameter: http://datatables.net/ref#aLengthMenu

For example, here's how I have one of mine set:

"aLengthMenu": [[10, 25, 50, 100, 200, -1], [10, 25, 50, 100, 200, "All"]], 

B) iDisplayLength -- set this parameter to whatever your default should be

like image 54
Greg Pettit Avatar answered Sep 19 '22 13:09

Greg Pettit


  • DataTables 1.10+

    Use lengthMenu to define a list of available page lengths and optionally pageLength to set initial page length.

    If pageLength is not specified, it will be automatically set to the first value given in array specified by lengthMenu.

    var table = $('#example').DataTable({    lengthMenu: [ [2, 4, 8, -1], [2, 4, 8, "All"] ],    pageLength: 4 }); 

    See this jsFiddle for code and demonstration.


  • DataTables 1.9

    Use aLengthMenu to define a list of available page lengths and iDisplayLength to set initial page length.

    var table = $('#example').dataTable({    "aLengthMenu": [ [2, 4, 8, -1], [2, 4, 8, "All"] ],    "iDisplayLength" : 4,         }); 

    See this jsFiddle for code and demonstration.

like image 28
Gyrocode.com Avatar answered Sep 19 '22 13:09

Gyrocode.com