Visual Basic - Problema al ordenar ListView

Life is soft - evento anual de software empresarial
 
Vista:

Problema al ordenar ListView

Publicado por Avellaneda (131 intervenciones) el 07/03/2005 18:16:30
Hola amigos:
Vereis, tengo un ListView de 3 columnas (Texto, número y fecha) con la propiedad ColumnHeaders(index).Alignment a izquierda, derecha y centro. Estas columnas tienen asociado un icono (flecha arriba, flecha abajo, según el orden).Al ordenar las columnas número y/o fecha (en el evento ColumnClick), las ordena bien, pero se alinean siempre a la izquierda.
¿Cómo puedo solucionarlo?. Muchas gracias desde ya.
Saludos, Juanjo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema al ordenar ListView

Publicado por Christian (675 intervenciones) el 07/03/2005 18:23:17
Fijate en las propiedades del Listview en la ficha Encabezados de Columna, desde ahi ordenas el Aligment de cada una de tus cabeceras.
O si no desde tu misma programacion, despues de haber ordenado tus campos desde ColumnHeaders vuelves a especificar mediante código las Alineaciones de tus columnas.

listRelacion.ColumnHeaders.Item(1).Alignment = lvwColumnLeft

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema al ordenar ListView

Publicado por Avellaneda (131 intervenciones) el 07/03/2005 19:00:42
El problema me viene al cambiar el icono (ColumnHeader.Icon = 2). Aunque a continuación vuelvo a poner el Alignment a lvwColumnRight, no me hace ni caso y lo alinéa a la izquierda.
¿Sabes porqué?
Gracias por tu respuesta y saludos.
juanjo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema al ordenar ListView

Publicado por Christian (675 intervenciones) el 07/03/2005 19:07:38
al final le estas poniendo listview.refresh??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sí!. Y sigue sin funcionar!!!

Publicado por Avellaneda (131 intervenciones) el 07/03/2005 19:33:11
Te envío el código:
Private Sub Form_Load()
' El ListView tiene un enlace a un ImageList con dos iconos
ListView1.ColumnHeader.Icon = 1
ListView1.ColumnHeaders(2).Alignment = lvWColumnRight
End Sub
'---------------------------------------
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As
MSComctlLib.ColumnHeader)
ColumnHeader.Icon = 2
ListView1.ColumnHeaders(2).Alignment = lvwColumnRight
ListView1.Refresh
End Sub
Gracias por tu ayuda. A ver si conseguimos salir de este entuerto.
Saludos

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sí!. Y sigue sin funcionar!!!

Publicado por Christian (675 intervenciones) el 07/03/2005 20:12:03
Que raro, yo en mi ordenamiento dentro del column_click hago lo siguiente y me funciona bien, sea con o sin iconos debe funcionarte:

Private Sub listRelacion_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim i As Long, col As Long
Dim s As String

col = ColumnHeader.Index - 1
If listRelacion.SortOrder = lvwAscending Then
listRelacion.SortOrder = lvwDescending
Else
listRelacion.SortOrder = lvwAscending
End If
listRelacion.SortKey = col
listRelacion.Sorted = True
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar