DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table. For more info see
the official site .
Zero Configuration
DataTables has most features enabled by default, so all you need to do to use it with your own tables is to call the construction function.
Name Position Office Age Start date Salary
Airi Satou
Accountant
Tokyo
33
2008/11/28
$162,700
Angelica Ramos
Chief Executive Officer (CEO)
London
47
2009/10/09
$1,200,000
Ashton Cox
Junior Technical Author
San Francisco
66
2009/01/12
$86,000
Bradley Greer
Software Engineer
London
41
2012/10/13
$132,000
Brenden Wagner
Software Engineer
San Francisco
28
2011/06/07
$206,850
Brielle Williamson
Integration Specialist
New York
61
2012/12/02
$372,000
Bruno Nash
Software Engineer
London
38
2011/05/03
$163,500
Caesar Vance
Pre-Sales Support
New York
21
2011/12/12
$106,450
Cara Stevens
Sales Assistant
New York
46
2011/12/06
$145,600
Cedric Kelly
Senior Javascript Developer
Edinburgh
22
2012/03/29
$433,060
Name Position Office Age Start date Salary
10 25 50 100
Showing 1 to 10 of 57 records
copy
< table id = " kt_datatable_example_1" class = " table table-row-bordered gy-5" >
< thead>
< tr class = " fw-bold fs-6 text-muted" >
< th> Name</ th>
< th> Position</ th>
< th> Office</ th>
< th> Age</ th>
< th> Start date</ th>
< th> Salary</ th>
</ tr>
</ thead>
< tbody>
< tr>
< td> Tiger Nixon</ td>
< td> System Architect</ td>
< td> Edinburgh</ td>
< td> 61</ td>
< td> 2011/04/25</ td>
< td> $320,800</ td>
</ tr>
< tr>
< td> Garrett Winters</ td>
< td> Accountant</ td>
< td> Tokyo</ td>
< td> 63</ td>
< td> 2011/07/25</ td>
< td> $170,750</ td>
</ tr>
< tr>
< td> Ashton Cox</ td>
< td> Junior Technical Author</ td>
< td> San Francisco</ td>
< td> 66</ td>
< td> 2009/01/12</ td>
< td> $86,000</ td>
</ tr>
</ tbody>
< tfoot>
< tr>
< th> Name</ th>
< th> Position</ th>
< th> Office</ th>
< th> Age</ th>
< th> Start date</ th>
< th> Salary</ th>
</ tr>
</ tfoot>
</ table>
$ ( "#kt_datatable_example_1" ) . DataTable ( ) ;
This example shows the DataTables table body scrolling in the vertical direction. This can generally be seen as an alternative method to pagination for displaying a large table in a fairly small vertical area, and as such pagination has been disabled here (note that this is not mandatory, it will work just fine with pagination enabled as well!).
copy
< table id = " kt_datatable_example_2" class = " table table-striped table-row-bordered gy-5 gs-7" >
< thead>
< tr class = " fw-bold fs-6 text-gray-800" >
< th> Name</ th>
< th> Position</ th>
< th> Office</ th>
< th> Age</ th>
< th> Start date</ th>
< th> Salary</ th>
</ tr>
</ thead>
< tbody>
< tr>
< td> Tiger Nixon</ td>
< td> System Architect</ td>
< td> Edinburgh</ td>
< td> 61</ td>
< td> 2011/04/25</ td>
< td> $320,800</ td>
</ tr>
< tr>
< td> Garrett Winters</ td>
< td> Accountant</ td>
< td> Tokyo</ td>
< td> 63</ td>
< td> 2011/07/25</ td>
< td> $170,750</ td>
</ tr>
</ tbody>
< tfoot>
< tr class = " border-top fw-bold fs-6 text-gray-800" >
< th> Name</ th>
< th> Position</ th>
< th> Office</ th>
< th> Age</ th>
< th> Start date</ th>
< th> Salary</ th>
</ tr>
</ tfoot>
</ table>
$ ( "#kt_datatable_example_2" ) . DataTable ( {
"scrollY" : "500px" ,
"scrollCollapse" : true ,
"paging" : false ,
"dom" : "<'table-responsive'tr>"
} ) ;
DataTables has the ability to show tables with horizontal scrolling, which is very useful for when you have a wide table, but want to constrain it to a limited horizontal display area
copy
< table id = " kt_datatable_example_3" class = " table table-striped table-row-bordered gy-5 gs-7" >
< thead>
< tr class = " fw-bold fs-6 text-gray-800" >
< th class = " min-w-200px" > First name</ th>
< th class = " min-w-150px" > Last name</ th>
< th class = " min-w-300px" > Position</ th>
< th class = " min-w-200px" > Office</ th>
< th class = " min-w-100px" > Age</ th>
< th class = " min-w-150px" > Start date</ th>
< th class = " min-w-150px" > Salary</ th>
< th class = " min-w-150px" > Extn.</ th>
< th class = " min-w-150px" > E-mail</ th>
</ tr>
</ thead>
< tbody>
< tr>
< td> Tiger</ td>
< td> Nixon</ td>
< td> System Architect</ td>
< td> Edinburgh</ td>
< td> 61</ td>
< td> 2011/04/25</ td>
< td> $320,800</ td>
< td> 5421</ td>
< td> t.nixon@datatables.net</ td>
</ tr>
< tr>
< td> Garrett</ td>
< td> Winters</ td>
< td> Accountant</ td>
< td> Tokyo</ td>
< td> 63</ td>
< td> 2011/07/25</ td>
< td> $170,750</ td>
< td> 8422</ td>
< td> g.winters@datatables.net</ td>
</ tr>
</ tbody>
</ table>
$ ( "#kt_datatable_example_3" ) . DataTable ( {
"scrollX" : true
} ) ;
In this example you can see DataTables doing both horizontal and vertical scrolling at the same time. Note also that pagination is enabled in this example, and the scrolling accounts for this.
copy
< table id = " kt_datatable_example_4" class = " table table-striped table-row-bordered gy-5 gs-7" >
< thead>
< tr class = " fw-bold fs-6 text-gray-800" >
< th class = " min-w-200px" > First name</ th>
< th class = " min-w-150px" > Last name</ th>
< th class = " min-w-300px" > Position</ th>
< th class = " min-w-200px" > Office</ th>
< th class = " min-w-100px" > Age</ th>
< th class = " min-w-150px" > Start date</ th>
< th class = " min-w-150px" > Salary</ th>
< th class = " min-w-150px" > Extn.</ th>
< th class = " min-w-150px" > E-mail</ th>
</ tr>
</ thead>
< tbody>
< tr>
< td> Tiger</ td>
< td> Nixon</ td>
< td> System Architect</ td>
< td> Edinburgh</ td>
< td> 61</ td>
< td> 2011/04/25</ td>
< td> $320,800</ td>
< td> 5421</ td>
< td> t.nixon@datatables.net</ td>
</ tr>
< tr>
< td> Garrett</ td>
< td> Winters</ td>
< td> Accountant</ td>
< td> Tokyo</ td>
< td> 63</ td>
< td> 2011/07/25</ td>
< td> $170,750</ td>
< td> 8422</ td>
< td> g.winters@datatables.net</ td>
</ tr>
</ tbody>
</ table>
$ ( "#kt_datatable_example_4" ) . DataTable ( {
"scrollY" : 300 ,
"scrollX" : true
} ) ;