DataTables example - Sorting plug-ins (with type detection)

Although DataTables will sort a number of data types using the built in methods, When dealing with more complex formatted data, it can be desirable to define the sorting order yourself. Using plug-in sorting 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 sorting plug-in assigned to it by making use of DataTables' plug-in type detection abilities. For complete information about type detection and sorting plug-ins; creating them and their requirements, please refer to the plug-in development documentation.

This example shows sorting 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 sorting 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.sort['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.