VB.Net – Sort Listview by any column



Steps to sort vb.net listview by any column (dates, ints, string or doubles)

Code:
————————

Public Class ListViewItemComparer
Implements IComparer

Private col As Integer
Private order As SortOrder

Public Sub New()
col = 0
order = SortOrder.Ascending
End Sub

Public Sub New(column As Integer, order As SortOrder)
col = column
Me.order = order
End Sub

Public Function Compare(x As Object, y As Object) As Integer Implements System.Collections.IComparer.Compare

Dim returnVal As Integer

Try

‘ Attempt to parse the two objects as DateTime
Dim firstDate As System.DateTime = DateTime.Parse(CType(x, ListViewItem).SubItems(col).Text)
Dim secondDate As System.DateTime = DateTime.Parse(CType(y, ListViewItem).SubItems(col).Text)

‘ Compare as date
returnVal = DateTime.Compare(firstDate, secondDate)

Catch ex As Exception

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.