![]() |
Ordenar Listview por columna
Hola amigos del foro me gustaria saber si es posible ordenar el contenido de un Listview en base a una columna por decir ?
Gracias anticipadas |
Utiliza el método AlphaSort y el evento OnCompare.
Si buscas en la ayuda de Delphi acerca del evento OnCompare verás un ejemplo que hace exactamente lo que quieres. // Saludos |
Vaya... Yo también iba a hacer esta pregunta...
Román, he visto el ejemplo de la ayuda de Delphi, pero no me ha solucionado nada... este es mi código, hago clic en las columnas pero nada...
|
Pues lo acabo de probar y funciona bien. No estarás dando click en cualquier parte de la columna ¿verdad? Debe ser en el título.
// Saludos |
Claro, claro, en el título.
El SortType tiene que estar de alguna determinada forma? Tiene algo que ver que mi ListView sea un Virtual List View (es decir, tiene la propiedad OwnerData en True)? |
Cita:
// Saludos |
Hay que jorobarse... Entonces como los puedo ordenar? Si se puede...
|
Supongo que dependerá de cómo estés alimentando al ListView. Posiblemente haya que ordenar la fuente. Por ejemplo, si los datos los tmas de una base de datos, podrías cambiar el índice activo o reordenar cambiando el ORDER BY de la consulta SQL. De cualquier forma, toma en cuenta que la ordenación requiere todos los datos, con lo que se pierde en ese momento la ventaja del modo virtual.
// Saludos |
LoS items son archivos y directorios de Windows, es decir, los obtengo a partir de FindFirst y FindNext, el caption es el nombre de archivo o carpeta y los subitems son el tamaño, el tipo, la fecha de modificación y la fecha de creación de los archivos y carpetas.
|
Quizá te interese usar el VirtualTreeView. Es gratuito y tiene muchas más ventajas que el ListView aunque un poco más difícil de usar.
En su página se lee: Cita:
// Saludos |
Muy interesante sin duda alguna, este componente, muchas gracias, pero ahora es un poco tarde. De todas formas es un programa de ejemplo que estoy haciendo. El tema de ordenar por columnas es una chorrada, no obstante, me instalaré el componente para usarlo en futuras aplicaciones.
Muchas gracias Román! |
La franja horaria es GMT +2. Ahora son las 09:10:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi