Ordenar objetos de mas grandes a mas pequeños en TListView
Hola, estoy dandole vueltas a un asunto... Intento hacer que cuando se le de click al boton de arriba de la columna en IDs se ordenen todos los objetos conforme la columna ids de mas grande a mas pequeños, dejo una imagen para dejar claro de que se trata:
He probado algunos ejemplos que he ido encontrando pero los resultados han sido "ilógicos" (Me lo ordena de esta manera): |
Eso es porque esta ordenando como texto, no como numero.
|
Tal como dice mamcx. Alfabéticamente hablando, la cadena "19" va antes de la cadena "2" (ya que "1" es menor que "2").
Si tienes manera de incidir en el formato de los IDs puedes colocar un 0 a la izquierda de los que tienen sólo un dígito y de esa manera "02" irá antes de "19" (ya que "0" es menor que "1"). O bien, simplemente usa el método AlphaSort y en el evento OnCompare provees la comparación correcta convirtiendo esos IDs en números. LineComment Saludos |
Ya he conseguido arreglarlo, he optado por el método de convertir los IDs a integer, pensaba que el fallo era algo mas complejo :eek:, gracias y saludos.
|
La franja horaria es GMT +2. Ahora son las 17:46:30. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi