Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2011, 16:30
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años, 8 meses
Puntos: 6
Ordenar listview por cabecera en vb 6.0

hola nuevamente les pido ayuda para lo sgte:

ahora quiero ordenar un listview por su cabecera, tengo un ejemplo con un combobox de lo que quiero hacer:

Public Sub ordenarproveedor()
If Me.cboordenar.Text = "Seleccione Órden" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores where codigoproveedor=0")
ElseIf Me.cboordenar.Text = "Por Código (Modo Creciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by codigoproveedor")
ElseIf Me.cboordenar.Text = "Por Código (Modo Decreciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by codigoproveedor desc")
ElseIf Me.cboordenar.Text = "Por Nombre (Modo Creciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by nombreproveedor")
ElseIf Me.cboordenar.Text = "Por Nombre (Modo Decreciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by nombreproveedor desc")
ElseIf Me.cboordenar.Text = "Por Dirección (Modo Creciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by direccionproveedor")
ElseIf Me.cboordenar.Text = "Por Dirección (Modo Decreciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by direccionproveedor desc")
ElseIf Me.cboordenar.Text = "Por Teléfono (Modo Creciente)" Then
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by telefonoproveedor")
Else
Set rstproveedores = cnnADODB.Execute("select * from proveedores order by telefonoproveedor desc")
End If
LVWproveedores.ListItems.Clear
While Not rstproveedores.EOF
On Error Resume Next
Set listaproveedores = LVWproveedores.ListItems.Add(, , rstproveedores(0))
listaproveedores.SubItems(1) = rstproveedores(1)
listaproveedores.SubItems(2) = rstproveedores(2)
listaproveedores.SubItems(3) = rstproveedores(3)
listaproveedores.SubItems(4) = rstproveedores(4)
rstproveedores.MoveNext
Wend
End Sub

mi idea es ordenar de forma creciente y decreciente al hacer click en la cabecera de la columna para eso tengo este evento del listview:

Private Sub LVWproveedores_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)

End Sub

sólo que no sé hacer esto, ¿me pueden ayudar? se los agradezco.