Y-Ssin
25 April 2010, 23:19
Heb heb een listview die ik als volgt sorteer:
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(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
End If
Return returnVal
End Function
End Class
Private sortColumn As Integer = -1
Private Sub listView1_ColumnClick(ByVal sender As Object, ByVal e As _
System.Windows.Forms.ColumnClickEventArgs) Handles lsvTaken.ColumnClick
If e.Column <> sortColumn Then
sortColumn = e.Column
lsvTaken.Sorting = SortOrder.Ascending
Else
If lsvTaken.Sorting = SortOrder.Ascending Then
lsvTaken.Sorting = SortOrder.Descending
Else
lsvTaken.Sorting = SortOrder.Ascending
End If
End If
lsvTaken.Sort()
lsvTaken.ListViewItemSorter = New ListViewItemComparer(e.Column, lsvTaken.Sorting)
End Sub
Nu heb ik ergens een kolom waar data in staan, en ik wil die ook kunnen sorteren, maar als ik op die kolom druk komt dinsdag eerst eerst dan donderdag,...
mijn data komen van een datetimpicker een staan er dus zo op: zondag 25 april 2010
Iemand die me hiermee kan helpen?
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(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
End If
Return returnVal
End Function
End Class
Private sortColumn As Integer = -1
Private Sub listView1_ColumnClick(ByVal sender As Object, ByVal e As _
System.Windows.Forms.ColumnClickEventArgs) Handles lsvTaken.ColumnClick
If e.Column <> sortColumn Then
sortColumn = e.Column
lsvTaken.Sorting = SortOrder.Ascending
Else
If lsvTaken.Sorting = SortOrder.Ascending Then
lsvTaken.Sorting = SortOrder.Descending
Else
lsvTaken.Sorting = SortOrder.Ascending
End If
End If
lsvTaken.Sort()
lsvTaken.ListViewItemSorter = New ListViewItemComparer(e.Column, lsvTaken.Sorting)
End Sub
Nu heb ik ergens een kolom waar data in staan, en ik wil die ook kunnen sorteren, maar als ik op die kolom druk komt dinsdag eerst eerst dan donderdag,...
mijn data komen van een datetimpicker een staan er dus zo op: zondag 25 april 2010
Iemand die me hiermee kan helpen?