Although DataTables will automatically order data from a number of different data types using the built in methods, When dealing with more complex formatted data, it can be desirable to define the ordering order yourself. Using plug-in ordering functions, you have have DataTables sort data in any manner you wish.
Formatted data of a particular kind can be automatically detected and a suitable ordering plug-in assigned to it by making use of DataTables' plug-in type detection abilities. For complete information about type detection and ordering plug-ins; creating them and their requirements, please refer to the plug-in development documentation.
This example shows ordering with a comma for a decimal place, as is often used in parts of Europe with automatic type detection.
A wide variety of ready made ordering plug-ins can be found on the DataTables plug-ins page.
| Name | Position | Office | Age | Start date | Salary |
|---|---|---|---|---|---|
| Name | Position | Office | Age | Start date | Salary |
| Tiger Nixon | System Architect | Edinburgh | 61 | 2011/04/25 | $3.120,00 |
| Garrett Winters | Director | Edinburgh | 63 | 2011/07/25 | $5.300,00 |
| Ashton Cox | Technical Author | San Francisco | 66 | 2009/01/12 | $4.800,00 |
| Cedric Kelly | Javascript Developer | Edinburgh | 22 | 2012/03/29 | $3.600,00 |
| Jenna Elliott | Financial Controller | Edinburgh | 33 | 2008/11/28 | $5.300,00 |
| Brielle Williamson | Integration Specialist | New York | 61 | 2012/12/02 | $4.525,00 |
| Herrod Chandler | Sales Assistant | San Francisco | 59 | 2012/08/06 | $4.080,00 |
| Rhona Davidson | Integration Specialist | Edinburgh | 55 | 2010/10/14 | $6.730,00 |
| Colleen Hurst | Javascript Developer | San Francisco | 39 | 2009/09/15 | $5.000,00 |
| Sonya Frost | Software Engineer | Edinburgh | 23 | 2008/12/13 | $3.600,00 |
| Jena Gaines | System Architect | London | 30 | 2008/12/19 | $5.000,00 |
| Quinn Flynn | Financial Controller | Edinburgh | 22 | 2013/03/03 | $4.200,00 |
| Charde Marshall | Regional Director | San Francisco | 36 | 2008/10/16 | $5.300,00 |
| Haley Kennedy | Senior Marketing Designer | London | 43 | 2012/12/18 | $4.800,00 |
| Tatyana Fitzpatrick | Regional Director | London | 19 | 2010/03/17 | $2.875,00 |
| Michael Silva | Senior Marketing Designer | London | 66 | 2012/11/27 | $3.750,00 |
| Paul Byrd | Javascript Developer | New York | 64 | 2010/06/09 | $5.000,00 |
| Gloria Little | Systems Administrator | New York | 59 | 2009/04/10 | $3.120,00 |
| Bradley Greer | Software Engineer | London | 41 | 2012/10/13 | $3.120,00 |
| Dai Rios | System Architect | Edinburgh | 35 | 2012/09/26 | $4.200,00 |
| Jenette Caldwell | Financial Controller | New York | 30 | 2011/09/03 | $4.965,00 |
| Yuri Berry | System Architect | New York | 40 | 2009/06/25 | $3.600,00 |
| Caesar Vance | Technical Author | New York | 21 | 2011/12/12 | $4.965,00 |
| Doris Wilder | Sales Assistant | Edinburgh | 23 | 2010/09/20 | $4.965,00 |
| Angelica Ramos | System Architect | London | 36 | 2009/10/09 | $2.875,00 |
| Gavin Joyce | Developer | Edinburgh | 42 | 2010/12/22 | $4.525,00 |
| Jennifer Chang | Regional Director | London | 28 | 2010/11/14 | $4.080,00 |
| Brenden Wagner | Software Engineer | San Francisco | 18 | 2011/06/07 | $3.750,00 |
| Ebony Grimes | Software Engineer | San Francisco | 48 | 2010/03/11 | $2.875,00 |
| Russell Chavez | Director | Edinburgh | 20 | 2011/08/14 | $3.600,00 |
| Michelle House | Integration Specialist | Edinburgh | 37 | 2011/06/02 | $3.750,00 |
| Suki Burks | Developer | London | 53 | 2009/10/22 | $2.875,00 |
| Prescott Bartlett | Technical Author | London | 27 | 2011/05/07 | $6.730,00 |
| Gavin Cortez | Technical Author | San Francisco | 22 | 2008/10/26 | $6.730,00 |
| Martena Mccray | Integration Specialist | Edinburgh | 46 | 2011/03/09 | $4.080,00 |
| Unity Butler | Senior Marketing Designer | San Francisco | 47 | 2009/12/09 | $3.750,00 |
| Howard Hatfield | Financial Controller | San Francisco | 51 | 2008/12/16 | $4.080,00 |
| Hope Fuentes | Financial Controller | San Francisco | 41 | 2010/02/12 | $4.200,00 |
| Vivian Harrell | System Architect | San Francisco | 62 | 2009/02/14 | $4.965,00 |
| Timothy Mooney | Financial Controller | London | 37 | 2008/12/11 | $4.200,00 |
| Jackson Bradshaw | Director | New York | 65 | 2008/09/26 | $5.000,00 |
| Miriam Weiss | Support Engineer | Edinburgh | 64 | 2011/02/03 | $4.965,00 |
| Bruno Nash | Software Engineer | London | 38 | 2011/05/03 | $4.200,00 |
| Odessa Jackson | Support Engineer | Edinburgh | 37 | 2009/08/19 | $3.600,00 |
| Thor Walton | Developer | New York | 61 | 2013/08/11 | $3.600,00 |
| Finn Camacho | Support Engineer | San Francisco | 47 | 2009/07/07 | $4.800,00 |
| Elton Baldwin | Data Coordinator | Edinburgh | 64 | 2012/04/09 | $6.730,00 |
| Zenaida Frank | Software Engineer | New York | 63 | 2010/01/04 | $4.800,00 |
| Zorita Serrano | Software Engineer | San Francisco | 56 | 2012/06/01 | $5.300,00 |
| Jennifer Acosta | Javascript Developer | Edinburgh | 43 | 2013/02/01 | $2.875,00 |
| Cara Stevens | Sales Assistant | New York | 46 | 2011/12/06 | $4.800,00 |
| Hermione Butler | Director | London | 47 | 2011/03/21 | $4.080,00 |
| Lael Greer | Systems Administrator | London | 21 | 2009/02/27 | $3.120,00 |
| Jonas Alexander | Developer | San Francisco | 30 | 2010/07/14 | $5.300,00 |
| Shad Decker | Regional Director | Edinburgh | 51 | 2008/11/13 | $5.300,00 |
| Michael Bruce | Javascript Developer | Edinburgh | 29 | 2011/06/27 | $4.080,00 |
| Donna Snider | System Architect | New York | 27 | 2011/01/25 | $3.120,00 |
The Javascript shown below is used to initialise the table shown in this example:
$.fn.dataTable.ext.type.detect.unshift(
function ( d ) {
return /^[\-\d,]+$/.test( d ) ? 'numeric-comma' : null;
}
);
$.fn.dataTable.ext.type.order['numeric-comma-pre'] = function ( d ) {
return parseFloat( d.replace(/,/g, '.') ) || 0;
};
$(document).ready(function() {
$('#example').dataTable();
} );
In addition to the above code, the following Javascript library files are loaded for use in this example:
The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:
This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The additional CSS used is shown below:
The following CSS library files are loaded for use in this example to provide the styling of the table:
This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is loaded.