1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Public Class ListViewItemComparer
Implements IComparer
Private col As Integer
Private sortOrder As SortOrder
Public Sub New()
col = 0
sortOrder = Windows.Forms.SortOrder.Ascending
End Sub
Public Sub New(ByVal column As Integer)
col = column
sortOrder = Windows.Forms.SortOrder.Ascending
End Sub
Public Sub New(ByVal column As Integer, ByVal s As SortOrder)
col = column
sortOrder = s
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare
If sortOrder = Windows.Forms.SortOrder.Ascending Then
Return String.Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text)
Else
Return String.Compare(CType(y, ListViewItem).SubItems(col).Text, CType(x, ListViewItem).SubItems(col).Text)
End If
End Function
End Class
'''Sur Click Colonne
Private Sub ListViewOF_ColumnClick(sender As System.Object, e As System.Windows.Forms.ColumnClickEventArgs) Handles ListViewOF.ColumnClick
If Me.ListViewOF.Sorting = SortOrder.Ascending Then
Me.ListViewOF.Sorting = SortOrder.Descending
Else
Me.ListViewOF.Sorting = SortOrder.Ascending
End If
Me.ListViewOF.ListViewItemSorter = New ListViewItemComparer(e.Column, Me.ListViewOF.Sorting)
End Sub
End Class |
Partager