Trabajando con un ListView e creado dos Encabezados de columnas, uno que contiene los IDs (numeros) de los datos en la Base de datos y otro que contiene los nombres (texto).
El problema se me presenta al momento de realizar el ListView_ColumnClick con la intencion de ordenar los datos de las columnas por ID ya que la correlacion que realiza no es la esperada.
Ejemplo:
Lo que se busca es que ordene de la siguiente manera
1
2
3
4
6
10
11
20
26
...
...
Y lo realiza de la siguiente forma:
1
10
11
2
20
26
3
4
6
...
...
El codigo que ocupo para realizarlo es el sgte:
Cita:
Private Sub LstHorarios_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
LstHorarios.Sorted = True
Select Case ColumnHeader.Text
Case "ID"
If LstHorarios.SortOrder = lvwAscending Then
LstHorarios.SortKey = 0
LstHorarios.SortOrder = lvwDescending
Else
LstHorarios.SortKey = 0
LstHorarios.SortOrder = lvwAscending
End If
Case "Nombre"
If LstHorarios.SortOrder = lvwAscending Then
LstHorarios.SortKey = 1
LstHorarios.SortOrder = lvwDescending
Else
LstHorarios.SortKey = 1
LstHorarios.SortOrder = lvwAscending
End If
End Select
End Sub
El que ordena por nombres funciona a la perfeccion, el problema solo se presenta en la ordenacion numerica...Private Sub LstHorarios_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
LstHorarios.Sorted = True
Select Case ColumnHeader.Text
Case "ID"
If LstHorarios.SortOrder = lvwAscending Then
LstHorarios.SortKey = 0
LstHorarios.SortOrder = lvwDescending
Else
LstHorarios.SortKey = 0
LstHorarios.SortOrder = lvwAscending
End If
Case "Nombre"
If LstHorarios.SortOrder = lvwAscending Then
LstHorarios.SortKey = 1
LstHorarios.SortOrder = lvwDescending
Else
LstHorarios.SortKey = 1
LstHorarios.SortOrder = lvwAscending
End If
End Select
End Sub
Ojala me puedan ayudar
Atentamente
Ecerpa
