Estoy usando jquery.datatables para mostrar los números en las columnas de tablas de datos. Los números están formateados para tener espacios entre miles de unidades (como 123 456 789
). Desafortunadamente, este formato de número provoca una clasificación de clasificación en lugar de un número clasificación (consulte la captura de pantalla al final de esta pregunta).DataTables ordena cadenas en lugar de numérico
He identificado que:
function _fnSort(oSettings, bApplyClasses) {
es la función de núcleo para la clasificación.- En esta función, se utiliza el función dinámica de clasificación enfoque (el que ejecuta si
if (!window.runtime) {
es verdad) las funciones de clasificación cadena utilizado son las dos funciones siguientes.
/* * text sorting */ "string-asc": function(a, b) { var x = a.toLowerCase(); var y = b.toLowerCase(); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }, "string-desc": function(a, b) { var x = a.toLowerCase(); var y = b.toLowerCase(); return ((x < y) ? 1 : ((x > y) ? -1 : 0)); },
Mi conocimiento en javascript es bastante pobre, lo que sería el mejor enfoque aquí?
- ajustar la función de clasificación cadena para detectar el número miles formateados caso, y hacer la comparación (supongo que esto sería bastante lento en el conjunto de datos grande).
- Proporcione una función de clasificación numérica dedicada para número miles formateados? En ese caso
- ¿cómo codificaría eso?
- ¿Cómo podría indicar a la función de clasificación de núcleo, para utilizar esta función especial de clasificación numérica?
Esto es lo que el aspecto de clasificación, como por ahora:
Awesome! Pero ¿cómo podría forzar a _fnSort() a utilizar esta función de clasificación para la columna en cuestión? –
Ver edición (con enlace a la documentación). –
Autor de DataTables aquí - buena respuesta - hasta votado. Sugeriría marcar como correcto/aceptado :-). Solo typo es sType como 'T' mayúscula: http://datatables.net/ref#sType. También vale la pena señalar que hay muchos otros plug-ins de clasificación (algunos con contrapartes de detección de tipo) - http://datatables.net/plug-ins/sorting –