si lo necesitas urgente, avisame y por teamviewver se te enseña rapido, dificil no es XD
Gracias spiritdead pero no me urge, aún estoy aprendiendo a usar el listview convencional.
@seba123Neo
¿Como lo hago funcionar?
Me da error en las variables:
Código:
vColumnaOrden
vOrden
Código
Private Sub GListView_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles GListView.ColumnClick Dim vIndiceColumna As ColumnHeader = GListView.Columns(e.Column) Dim vTipoOrden As System.Windows.Forms.SortOrder If vColumnaOrden Is Nothing Then vTipoOrden = SortOrder.Ascending vOrden = SortOrder.Ascending Else If vIndiceColumna.Equals(vColumnaOrden) Then If vOrden = SortOrder.Ascending Then vTipoOrden = SortOrder.Descending vOrden = SortOrder.Descending Else vTipoOrden = SortOrder.Ascending vOrden = SortOrder.Ascending End If Else vTipoOrden = SortOrder.Ascending vOrden = SortOrder.Ascending End If End If vColumnaOrden = vIndiceColumna GListView.ListViewItemSorter = New COrdenarListview(e.Column, vTipoOrden) GListView.Sort() End Sub
EDITO:
Seba123Neo, si no he captado mal la idea, al final lo he hecho así, y funciona bien, pero no sé si es peor que tu snippet:
Código
' En las declaraciones... Dim ColumnOrder As String = "Down" Private Sub GListView_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles GListView.ColumnClick If ColumnOrder = "Down" Then Me.GListView.ListViewItemSorter = New COrdenarListview(e.Column, SortOrder.Ascending) GListView.Sort() ColumnOrder = "Up" ElseIf ColumnOrder = "Up" Then Me.GListView.ListViewItemSorter = New COrdenarListview(e.Column, SortOrder.Descending) GListView.Sort() ColumnOrder = "Down" End If End Sub