datagridView筛选和排序vb.net

时间:2019-02-20 10:23:32

标签: vb.net list sorting datagridview

我有以下问题。 我有一个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

在我应用过滤器代码之前,最后一个代码可以完美地工作。那我不能订购。 过滤器代码可与计时器(如搜索栏)一起使用。

0 个答案:

没有答案