FastObjectListview custom sort not working
ObjectListView - ListView on caffeine, guarana and steroids
Brought to you by:
grammarian
I'm using the FastObjectListview and now I need to sort on 2 columns. So I tried using the example I found on the StackOverflow website but I can't get it to work.
Please help. Thanks in advance.
Public Class Form1 Class MyCustomSortingDataSource Inherits FastObjectListDataSource Public Sub New(ByVal listView As FastObjectListView) MyBase.New(listView) End Sub Public Property SortColumn As OLVColumn Get Return _sortColumn End Get Set(ByVal value As OLVColumn) _sortColumn = value End Set End Property Private _sortColumn As OLVColumn Public Overrides Sub Sort(ByVal column As OLVColumn, ByVal sortOrder As SortOrder) If sortOrder <> SortOrder.None Then Dim objects As ArrayList = CType(Me.listView.Objects, ArrayList) objects.Sort(New ModelObjectComparer(SortColumn, SortOrder.Ascending, column, sortOrder)) End If Me.RebuildIndexMap() End Sub End Class Class dlist Public a As String Public b As String Public grp As Integer End Class Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Dim Data As New List(Of dlist) Data.Add(New dlist With {.a = "First AB", .b = "Test 1", .grp = 1}) Data.Add(New dlist With {.a = "First ABC Test 3", .b = "Test 2", .grp = 1}) Data.Add(New dlist With {.a = "First ABC Test 1", .b = "Test 3", .grp = 1}) Data.Add(New dlist With {.a = "First ABC Test 2", .b = "Test 1", .grp = 1}) Data.Add(New dlist With {.a = "First ABCD", .b = "Test 3", .grp = 2}) Data.Add(New dlist With {.a = "First AB", .b = "Test 4", .grp = 2}) Data.Add(New dlist With {.a = "First AB", .b = "Test 4", .grp = 3}) Data.Add(New dlist With {.a = "First List", .b = "Test 4", .grp = 3}) Data.Add(New dlist With {.a = "First List ABC", .b = "Test 3", .grp = 3}) Data.Add(New dlist With {.a = "First List DBC", .b = "Test 4", .grp = 2}) Dim vSort As New MyCustomSortingDataSource(FastObjectListView1) vSort.SortColumn = OlvGrp FastObjectListView1.VirtualListDataSource = vSort FastObjectListView1.Objects = Data End Sub End Class