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")'는'객체'를 반환하고 intellisense가'x'의 멤버를 추측 할 수 없게 만듭니다. 'DirectCast (Session ("grid"), TypeOfYourGrid)'를 사용해보십시오. –
아직 없음, 내가 가진이 List (of spSearchResult2Result) = DirectCast (세션 ("그리드"), List (SpSearchResult2Result)) gvSearch.DataSource = ApplySorting (그리드, 기능 (x) x.), "ASC ") 여전히 intellisense가 없습니다. –