Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ordenar objetos de mas grandes a mas pequeños en TListView (https://www.clubdelphi.com/foros/showthread.php?t=91136)

Reasen 17-11-2016 16:20:58

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):




mamcx 17-11-2016 16:41:36

Eso es porque esta ordenando como texto, no como numero.

roman 17-11-2016 17:13:42

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

Reasen 17-11-2016 17:51:52

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