1
我有一個很多列的網格視圖,都需要進行排序。我在那裏看到了一些片段,但是我不能讓他們中的任何一個人與我的例子一起工作。這是我到目前爲止。通用OrderBy函數
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,但我不知道如何獲得它。任何幫助,將不勝感激。由於
會智能感知挑選呢?當我放入時,x沒有任何屬性 –
'Session(「grid」)'返回一個'object',使得intellisense無法猜測'x'的成員。嘗試使用'DirectCast(Session(「grid」),TypeOfYourGrid)'。 –
仍然沒有,我有這個 Dim grid As List(Of spSearchResult2Result)= DirectCast(Session(「grid」),List(Of spSearchResult2Result)) gvSearch.DataSource = ApplySorting(grid,Function(x)x。,「ASC 「) 仍然沒有智能感 –