我有以下问题。 我有一个datagridView,它具有(对象)列表作为数据源。 我需要使用在文本框中插入的文本来过滤列表。为此,我使用以下代码。
datagridView.datasource = list.findAll(Function (x) x like textbox.text).toList
另一方面,当clickHeaderColumn事件引发时,我需要对datagridView进行排序。 为此,我使用以下代码
Private Sub DataGridView_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView.ColumnHeaderMouseClick
If DataGridView.Columns(e.ColumnIndex).Name = column.Name Then
Dim currentSortOrder = DataGridView.Columns(e.ColumnIndex).HeaderCell.SortGlyphDirection
If currentSortOrder = SortOrder.None OrElse currentSortOrder = SortOrder.Descending Then currentSortOrder = SortOrder.Ascending
datagridView.datasource = list.orderby(Function (x) x.columnName).toList
Else
currentSortOrder = SortOrder.Descending
datagridView.datasource = list.orderByDescending(Function (x) x.columnName).toList
End If DataGridView.Columns(e.ColumnIndex).HeaderCell.SortGlyphDirection = currentSortOrder
End If End Sub
在我应用过滤器代码之前,最后一个代码可以完美地工作。那我不能订购。 过滤器代码可与计时器(如搜索栏)一起使用。