The following code is working fine, but when it's storing numbers...
For example it returns:VB Code:
Friend Class Form1 Inherits System.Windows.Forms.Form Private Sub ListView1_ColumnClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles ListView1.ColumnClick If e.Column <> sortColumn Then sortColumn = e.Column ListView1.Sorting = SortOrder.Ascending Else If ListView1.Sorting = SortOrder.Ascending Then ListView1.Sorting = SortOrder.Descending Else ListView1.Sorting = SortOrder.Ascending End If End If ListView1.Sort() ListView1.ListViewItemSorter = New Comparer(e.Column, ListView1.Sorting) End Sub End Class Friend Class Comparer Implements IComparer Private Col As Integer Private Order As SortOrder Public Sub New() Col = 0 Order = SortOrder.Ascending End Sub Public Sub New(ByVal column As Integer, ByVal order As SortOrder) Col = column Me.Order = order End Sub Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare Dim returnVal As Integer = -1 returnVal = String.Compare(CType(x, ListViewItem).SubItems(Col).Text, CType(y, ListViewItem).SubItems(Col).Text) If Order = SortOrder.Descending Then returnVal *= -1 Return returnVal End Function End Class
1
10
2
20
Instead of:
1
2
10
20
How to fix it?
Thanks.




Reply With Quote