Un usuario preguntó 👇
Los números iguales no se ordenan de forma natural.
Creo que falta la función de clasificación natural.
Clasificación natural: ¿Falta la función «natsort» de PHP o javascript «naturalSort»? Información:
https://www.npmjs.com/package/javascript-natural-sort
(@tobiasbg)
Hace 2 años
Hola,
gracias por tu publicación y perdón por las molestias.
De hecho, no existe un algoritmo de clasificación natural directo en la biblioteca JS DataTables. Sin embargo, las columnas en su tabla generalmente se pueden ordenar correctamente, si mueve la segunda fila correctamente con las descripciones a la fila del encabezado de la tabla (que ahora tiene el 1, 2, 3, 4, 5 ). De lo contrario, estos textos se incluirán en la clasificación y se moverán a las otras capas.
Además, para corregir un error visual menor, ¿podría intentar agregar esto al área de texto «CSS personalizado» en la pantalla «Opciones de plugin» de TablePress:
.tablepress {
border-collapse: separate;
}
Saludos, Tobias
(@qualitas)
Hace 2 años
Hola Tobias,
La tabla es correcta cuando se carga la página. El problema se produjo al intentar ordenar de la mayoría de las columnas. Ordene su turno al 1, 10, 100, 2 en lugar de 1, 2, 10, 100.
Usé JSGrid antes. Usted debe darle una oportunidad.
O aquí hay un plugin de clasificación de base de datos natural:
https://datatables.net/plug-ins/sorting/natural
Acerca de
Yves
(@qualitas)
Hace 2 años
Hola Tobias,
Lo sentimos, la clasificación natural no es el problema. No reconoce la métrica internacional que escribe «1 000» en lugar de «1000» en mi última columna.
La expresión regular debe eliminar el espacio entre los números.
Acerca de
Yves
(@tobiasbg)
Hace 2 años
Hola,
para usar el algoritmo de clasificación correcto ahora, ingrese esto en el campo de texto «Comandos personalizados» en la pantalla «Editar» de la tabla:
"columnDefs": [ { "type": "num-fmt", "targets": [ "_all" ] } ], "language": jQuery.extend( {}, DataTables_language["fr_FR"], { "thousands": " " } )
Saludos, Tobias
(@qualitas)
Hace 2 años
Hola Tobias,
Afortunadamente, solo el ascendente funcionaba mejor ahora. Extraiga millas aún no ordenadas correctamente.
Acerca de
Yves
(@tobiasbg)
Hace 2 años
Hola Yves,
es posible que la biblioteca externa JS DataTables requiera un carácter diferente de las mil plantillas. ¿Podrías intentarlo? .
?
Saludos, Tobias
(@qualitas)
Hace 2 años
Hola Tobias,
No funciona
Dot no sería un sistema métrico internacional.
Acerca de
Yves
(@qualitas)
Hace 2 años
Hola Tobias,
La pregunta anterior se hizo aquí:
https://datatables.net/forums/discussion/10113
El plugin está aquí:
https://datatables.net/plug-ins/sorting/formatted-numbers
Pero es una falta de respeto porque probablemente esté en Datatable.
Pero la expresión regular «-«
Lo que quiero es espacio en lugar de espacio, por lo que el código debería ser: «»
Entonces:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"formatted-num-pre": function ( a ) {
a = (a === " " || a === "") ? 0 : a.replace( /[^d-.]/g, "" );
return parseFloat( a );
},
"formatted-num-asc": function ( a, b ) {
return a - b;
},
"formatted-num-desc": function ( a, b ) {
return b - a;
}
} );
Acerca de
Yves
Esta respuesta fue modificada hace 2 años por. Esta respuesta fue modificada hace 2 años por.
(@qualitas)
Hace 2 años
Hola Tobias,
Encontré una solución aquí:
https://datatables.net/forums/discussion/20853
agregando código HTML  
en cambio, el espacio está funcionando.
Acerca de
Yves
Esta respuesta fue modificada hace 2 años por.
(@tobiasbg)
Hace 2 años
Hola,
puede consultar la extensión TablePress desde https://tablepress.org/extensions/datatables-sorting-plugins/
Esto agrega algunos algoritmos de clasificación adicionales a los archivos JavaScript incluidos (¡no extraídos y picados!). Hay un formatted-num
algoritmo. Puede intentarlo o cambiarlo para que se adapte a sus necesidades.
Saludos, Tobias
¿Solucionó tu problema??
0 / 0