多くの列を含むグリッド ビューがあり、すべてを並べ替える必要があります。そこにいくつかのスニペットを見てきましたが、私の例ではそれらのどれも動作しません。これが私がこれまでに持っているものです。
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 が含まれますが、そこに取得する方法がわかりません。どんな助けでも大歓迎です。ありがとう