Currency Sorting Issue
Currency Sorting Issue
Hello, I've had a issue with the currency in my table which is a similar issue to the following post.
The exact issue is where the numbers are out of order or just wont sort:
$6.00
$500.00
$500.00
$50.00
$5.00
$5.00
$5.00
$4,072.66
$10,634,884.55
Empty rows have '--' so sometimes it will do
--
$6.00
$500.00
$500.00
$50.00
$5.00
--
$5.00
$5.00
$4,072.66
--
$10,634,884.55
--
--
Does anyone have any ideas why this would be happening?
http://datatables.net/forums/discussion/549/cant-get-currency-sorting-to-work/p1
The solutions in that post did not help.
Here is the code:
[code]
$.fn.dataTableExt.oSort['currency-asc'] = function(a,b) {
/* Remove any formatting */
var x = a == "-" ? 0 : a.replace( /[^\d\-\.]/g, "" );
var y = b == "-" ? 0 : b.replace( /[^\d\-\.]/g, "" );
/* Parse and return */
x = parseFloat( x );
y = parseFloat( y );
return x - y;
};
$.fn.dataTableExt.oSort['currency-desc'] = function(a,b) {
var x = a == "-" ? 0 : a.replace( /[^\d\-\.]/g, "" );
var y = b == "-" ? 0 : b.replace( /[^\d\-\.]/g, "" );
x = parseFloat( x );
y = parseFloat( y );
return y - x;
};
$(document).ready(function(){
TableTools.DEFAULTS.aButtons = [ "copy", "csv", "xls", "pdf", "print" ];
$('#table').dataTable({
"sDom": "<'row'<'span4'l><'span6'T><'span6'f>r>t<'row'<'span8'i><'span8'p>>",
"sPaginationType": "bootstrap",
"iDisplayLength": 25,
"aLengthMenu": [[25, 50, 100, 250, -1], [25, 50, 100, 250, "All"]],
"aaSorting": [],
"oTableTools": {
"sSwfPath": "js/copy_cvs_xls_pdf.swf"
},
"aoColumns": [
{ "bSortable": false },
null,
null,
null,
null,
{ "sType": "currency" },
{ "sType": "numeric" },
{ "sType": "currency" },
{ "sType": "numeric" },
null
]
});
$.extend( $.fn.dataTableExt.oStdClasses, {
"sSortAsc": "header headerSortDown",
"sSortDesc": "header headerSortUp",
"sSortable": "header"
} );
});
[/code]
Thank you
The exact issue is where the numbers are out of order or just wont sort:
$6.00
$500.00
$500.00
$50.00
$5.00
$5.00
$5.00
$4,072.66
$10,634,884.55
Empty rows have '--' so sometimes it will do
--
$6.00
$500.00
$500.00
$50.00
$5.00
--
$5.00
$5.00
$4,072.66
--
$10,634,884.55
--
--
Does anyone have any ideas why this would be happening?
http://datatables.net/forums/discussion/549/cant-get-currency-sorting-to-work/p1
The solutions in that post did not help.
Here is the code:
[code]
$.fn.dataTableExt.oSort['currency-asc'] = function(a,b) {
/* Remove any formatting */
var x = a == "-" ? 0 : a.replace( /[^\d\-\.]/g, "" );
var y = b == "-" ? 0 : b.replace( /[^\d\-\.]/g, "" );
/* Parse and return */
x = parseFloat( x );
y = parseFloat( y );
return x - y;
};
$.fn.dataTableExt.oSort['currency-desc'] = function(a,b) {
var x = a == "-" ? 0 : a.replace( /[^\d\-\.]/g, "" );
var y = b == "-" ? 0 : b.replace( /[^\d\-\.]/g, "" );
x = parseFloat( x );
y = parseFloat( y );
return y - x;
};
$(document).ready(function(){
TableTools.DEFAULTS.aButtons = [ "copy", "csv", "xls", "pdf", "print" ];
$('#table').dataTable({
"sDom": "<'row'<'span4'l><'span6'T><'span6'f>r>t<'row'<'span8'i><'span8'p>>",
"sPaginationType": "bootstrap",
"iDisplayLength": 25,
"aLengthMenu": [[25, 50, 100, 250, -1], [25, 50, 100, 250, "All"]],
"aaSorting": [],
"oTableTools": {
"sSwfPath": "js/copy_cvs_xls_pdf.swf"
},
"aoColumns": [
{ "bSortable": false },
null,
null,
null,
null,
{ "sType": "currency" },
{ "sType": "numeric" },
{ "sType": "currency" },
{ "sType": "numeric" },
null
]
});
$.extend( $.fn.dataTableExt.oStdClasses, {
"sSortAsc": "header headerSortDown",
"sSortDesc": "header headerSortUp",
"sSortable": "header"
} );
});
[/code]
Thank you
This discussion has been closed.
Replies
Failing that, a link to a page showing the problem would be good, a link to a http://live.datatables.net demo showing the problem would be ideal!
Allan