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


 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  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 3,703 veces)
ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


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

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


"No quiero creer, quiero saber" - Carl Sagan


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

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

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


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

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

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