COMO ORDENAR UMA LISTVIEW POR NUMERO
Faço esta ordenação mas ela ordena como texto e não como data ou numero!
Uso VB6
Alguem poderia me dizaer como fazer para a listaView ordenar pela data ou numero ?!
Private Sub lvwLog_ColumnClick(ByVal ColumnHeader As ColumnHeader)
lvwLog.Sorted = True ' Sort the List.
If Not blnOrdenacao Then
lvwLog.SortOrder = lvwDescending
blnOrdenacao = True
Else
lvwLog.SortOrder = lvwAscending
blnOrdenacao = False
End If
lvwLog.SortKey = ColumnHeader.Index - 1
End Sub
Uso VB6
Alguem poderia me dizaer como fazer para a listaView ordenar pela data ou numero ?!
Private Sub lvwLog_ColumnClick(ByVal ColumnHeader As ColumnHeader)
lvwLog.Sorted = True ' Sort the List.
If Not blnOrdenacao Then
lvwLog.SortOrder = lvwDescending
blnOrdenacao = True
Else
lvwLog.SortOrder = lvwAscending
blnOrdenacao = False
End If
lvwLog.SortKey = ColumnHeader.Index - 1
End Sub
Parece que a listview so o ordena como string
Quantas casas decimais tem o numero pois se tua adicionar um numero de zeros antes deixando todos numeros de tamanho igual a ordenação fica OK
Outro metodo é usar um RECORSET desconectado e depois usar filter
Quantas casas decimais tem o numero pois se tua adicionar um numero de zeros antes deixando todos numeros de tamanho igual a ordenação fica OK
Outro metodo é usar um RECORSET desconectado e depois usar filter
Dá se fazer via SQL
Como tu pega os valores de um banco...
Pois tu usa o DATA (DAO) ou a propriedade DATASOURCE(ADO) e com SQL tu ordena o que tu quiser
Como tu pega os valores de um banco...
Pois tu usa o DATA (DAO) ou a propriedade DATASOURCE(ADO) e com SQL tu ordena o que tu quiser
Sabe usar um recordset desconectado do ADO
faça o seguinte com a HIERACFLEXGRID
Dim rs As New ADODB.Recordset
rs.Fields.Append "DATA", adDate
rs.Open
rs.AddNew
rs(0) = "12/12/1979"
rs.AddNew
rs(0) = "18/12/1979"
rs.AddNew
rs(0) = "14/12/1979"
rs.AddNew
rs(0) = "15/12/1979"
rs.AddNew
rs(0) = "11/12/1979"
rs.Sort = "data"
Set MSHFlexGrid1.DataSource = rs
faça o seguinte com a HIERACFLEXGRID
Dim rs As New ADODB.Recordset
rs.Fields.Append "DATA", adDate
rs.Open
rs.AddNew
rs(0) = "12/12/1979"
rs.AddNew
rs(0) = "18/12/1979"
rs.AddNew
rs(0) = "14/12/1979"
rs.AddNew
rs(0) = "15/12/1979"
rs.AddNew
rs(0) = "11/12/1979"
rs.Sort = "data"
Set MSHFlexGrid1.DataSource = rs
Faça o seguinte, crie uma coluna oculta no listview, vamos supor
NOME - DATA - DATAOCULTA
Flavio - 12/12/1979 19791212
JOAO - 1/1/1980 19800101
Entendeu a coluna oculta tem o mesmo dado da coluna data só no formato
YYYMMDD daà quando ordenar por nome use
listview1.sortkey 1
E por data en vez de 2 use 3
listview1.sortkey 3
e depios deixe a largura da coluna de tamanho zero para oculta-la
NOME - DATA - DATAOCULTA
Flavio - 12/12/1979 19791212
JOAO - 1/1/1980 19800101
Entendeu a coluna oculta tem o mesmo dado da coluna data só no formato
YYYMMDD daà quando ordenar por nome use
listview1.sortkey 1
E por data en vez de 2 use 3
listview1.sortkey 3
e depios deixe a largura da coluna de tamanho zero para oculta-la
Faça Format(Numero,"00000000")
Na coluna oculta, já fiz isto e funciona Ok
Na coluna oculta, já fiz isto e funciona Ok
Deixe o WIDTH da coluna = 0
Tópico encerrado , respostas não são mais permitidas