我有一个包含很多列的网格视图,所有列都需要排序。我已经看到了一些片段,但我无法让它们中的任何一个与我的示例一起使用。这是我到目前为止所拥有的。
Protected Sub gvSearch_OnSorting(ByVal sender As Object, _
ByVal e As GridViewSortEventArgs)
If Not Session("sort") Is Nothing Then
Dim strView = Session("sort").ToString()
gvSearch.DataSource = ApplySorting(Session("grid"), , "ASC")
End If
End Sub
我在一个帖子中找到了这个,但我不确定要作为表达式输入什么
Private Function ApplySorting(Of T, U)( _
query As IQueryable(Of T), _
predicate As Expression(Of Func(Of T, U)), _
order As String) As IQueryable(Of T)
Dim ordered = TryCast(Query, IOrderedQueryable(Of T))
If order = "ASC" Then
If ordered IsNot Nothing Then
Return ordered.ThenBy(predicate)
End If
Return query.OrderBy(predicate)
Else
If ordered IsNot Nothing Then
Return ordered.ThenByDescending(predicate)
End If
Return query.OrderByDescending(predicate)
End If
End Function
结束类
我知道实际订单看起来像
Dim GridValues As List(Of spSearchResult2Result)
GridValues = db.spSearchResult2().ToList()
GridValues.OrderBy(Function(x) x.CreateUserID)
对 ApplySorting 的调用将包含 e.SortExpression,但我不知道如何将其放入其中。任何帮助,将不胜感激。谢谢