Hay que crear una clase que implemente el interfaz IComparer.
Asociar esta clase como ordenadora del listview
y entonces ejecutar el comando sort
Un ejemplo muy claro está en la ayuda de la función listview.sort
o en
http://www.nedcomp.nl/support/origdocs/dotnetsdk/cpref/frlrfsystemwindowsformslistviewclasssorttopic.htm
Salud.
P.D. Te copio aquí la parte interesante:
Private Sub ColumnClick(ByVal o As Object, ByVal e As ColumnClickEventArgs)
Me.listView1.ListViewItemSorter = New ListViewItemComparer(e.Column)
listView1.Sort()
End Sub
End Class
Class ListViewItemComparer
Implements IComparer
Private col As Integer
Public Sub New()
col = 0
End Sub
Public Sub New(ByVal column As Integer)
col = column
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Return [String].Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text)
End Function
End Class