FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Mover columnas de un ListView por codigo
Hola amigos.
Quisiera saber si existe alguna forma de modificar el orden de las columnas de un listview. Ejemplo Sea un ListView que tiene columnas en el siguiente orden: ColumnaA|ColumnaB|ColumnaC Como puedo hacer para que el orden sea el siguiente: ColumnaB|ColumnaC|ColumnaA Gracias de antemano. |
#2
|
|||
|
|||
Hola gente!!!!
Finalmente encontré la solución al problema. Para mover columnas es necesario hacer una llamada al mensaje LVM_SETCOLUMNORDERARRAY, el codigo es el siguiente: SendMessage(ListView1.Handle,LVM_SETCOLUMNORDERARRAY,numcols,lparam(@arregloCols)); ListView1.Invalidate donde numcols representa el número de columnas que tiene el control listview. arregloCols: Es un arreglo que contiene los índices de las columnas en el orden que se desea establecer. Al final se hace un ListView1.Invalidate para que repinte el control ya que si no se hace esto se observa que lo único que cambia es el orden de las columnas en el header pero no de toda la lista. Ejm: Sea el ListView con las siguientes columnas columna0|columna1|columna2|columna3|columna4| Pero se quiere que el orden sea columna4|columna2|columna0|columna1|columna3| Entonces lo primera que hacemos es crear un arreglo con el orden que se quiere establecer es decir: arregloCols = [4,2,0,1,3] (Este arreglo se crea con las declaraciones e instruccioens utilizada para el manejo de arreglos) finalmente se ejecutan las líneas de código especificadas lineas arriba: SendMessage(ListView1.Handle,LVM_SETCOLUMNORDERARRAY,5,lparam(@arregloCols)); ListView1.Invalidate; |
#3
|
||||
|
||||
Hola,
Buen apunte abracadabra. En su momento y, tratando de echarte una mano, me puse a ello, y, bueno, a la vista está que no di pie con bola. Pero, bueno es saber lo que dices ahora. Muchas gracias por compartir la solución que encontraste. |
#4
|
|||
|
|||
Cita:
No hay nada que agradecer dec, muchas veces el club me ha sacado de apuros ayudandome a resolver problemas. Solo espero que esta solución pueda servir a alguien en un futuro. Saludos. |
#5
|
||||
|
||||
Cita:
De momento me sirve a mí Muchas gracias (por cierto, con "arreglos" de refieres a vectores/matrices [arrays], ¿no?) |
#6
|
|||
|
|||
Cita:
Cuando hablo de arreglos me refiero a estructuras arrays. En este caso en particular serán arreglos de enteros. Ejm: //Primero se declara el tipo ArrayInt = array [1..5] of integer; (es este caso la dimensión es de 5, por que el listview que dí en el ejemplo tiene 5 columnas) //Luego declaras una variable (en este caso arregloCols) del tipo declarado. arregloCols: ArrayInt; Luego haces las operaciones y asignaciones necesarias para que el contenido de dicho arreglo (arregloCols) contengan los índices ordenados de tal manera que represente el orden de las columnas que deseas establecer. Así como se muestra en el ejemplo que dí hace días. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mover columnas de un DBGrid a otro | YaninaGenia | SQL | 3 | 24-12-2005 16:12:25 |
listview, autoajustar tamaño columnas | munheko | OOP | 4 | 19-05-2005 19:55:36 |
Mover columnas en un dbgrid | jzginez | Conexión con bases de datos | 2 | 11-07-2004 15:47:25 |
ListView con tres columnas check | Ricardo Alfredo | Varios | 1 | 15-10-2003 16:14:42 |
Alineamiento en columnas de ListView | andre | OOP | 5 | 08-05-2003 15:03:37 |
|