elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ordenar Registros del ListView
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ordenar Registros del ListView  (Leído 4,371 veces)
ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Ordenar Registros del ListView
« en: 12 Septiembre 2008, 02:51 am »

Buenas, bien tengo un inconveniente a lo que no he encontrado solución. Estoy intentando ordernar los registros de un ListView dandole click en los columnheader, la primera columna lo hace bien, pero no encuentro la manera para hacerlo ordenar por las demas columnas. A ver si alguien sabe algo. estuve usando una clase de Leandro Ascierto que modifico cuando estabamos con el tema de los Skin y las graficas en el ListView, pero no obtuve nada. Bueno espero respuestas. Saludos

Este code utilizo para ordenar..

Código:
Private Sub ListView1_ColumnClick( _
    ByVal ColumnHeader As MSComctlLib.ColumnHeader)
   
  'lvwAscending ' orden ascendente
  'lvwDescending ' orden descendente
 
  With ListView1
       If .SortOrder = lvwAscending Then
          .SortOrder = lvwDescending
       Else
          .SortOrder = lvwAscending
       End If
       
       .Sorted = True
       ' columna por la cual se ordena
       '( en este caso hay una sola )
       .SortKey = 0
  End With
End Sub


En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Ordenar Registros del ListView
« Respuesta #1 en: 12 Septiembre 2008, 03:28 am »

Hola,hace un Select Case del Index del ColumnHeader..algo asi:

Código
  1. Private Sub ListView1_ColumnClick( _
  2.    ByVal ColumnHeader As MSComctlLib.ColumnHeader)
  3.  
  4. Select Case ColumnHeader.Index
  5.  
  6. Case 1
  7.  
  8. With listview
  9. If .SortOrder = lvwAscending Then
  10. .SortOrder = lvwDescending
  11. Else
  12. .SortOrder = lvwAscending
  13. End If
  14. .SortKey = ColumnHeader.Index - 1
  15. .Sorted = True
  16. End With
  17.  
  18. Case 2....
  19.  
  20. Case 3....
  21.  
  22. End Select
  23. End Sub

o directamente hace un for y te ahorras los Case....o pones Case 1 , 2, 3...

saludos.



En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Ordenar Registros del ListView
« Respuesta #2 en: 12 Septiembre 2008, 03:49 am »

Código:
Private Sub ListView1_ColumnClick( _
    ByVal ColumnHeader As MSComctlLib.ColumnHeader)
 
Select Case ColumnHeader.Index
 
Case 1
 
With listview
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
.SortKey = ColumnHeader.Index - 1
.Sorted = True
End With
 
Case 2

With listview
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
.SortKey = ColumnHeader.Index - 1
.Sorted = True

Case 3

 With listview
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If
.SortKey = ColumnHeader.Index - 1
.Sorted = True

End Select

End Sub

Y gracias por responder seba123neo. Es exactamente lo que busco.
« Última modificación: 12 Septiembre 2008, 16:05 pm por ssccaann43 » En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines