請輸入專案類型(網站專案或者應用程式專案):
Web,Visual Basic 2008(ASP.NET 3.5)
一開始使用 GridView 搭配 LinqDataSource 的情形
LinqDataSource 不支援關聯式資料的繫結、篩選、排序(似乎是這樣?)
於是把 LinqDataSource 換成 DataSet
但這個時候變更 GridView 不支援排序、分頁
→由 GridView 'GridView1' 引發但尚未處理的事件 Sorting。
google找到討論說要自己撰寫事件?
試出來的結果:
Protected Sub GridView_Sorting(....) Handles ...
Dim exp As String = ViewState("Sort")
Dim Sort As String = e.SortExpression & " "
If Not exp Is Nothing AndAlso exp.Split(" ")(0).ToLower() = _
e.SortExpression.ToLower() Then
If exp.IndexOf(" ") < 0 Then
Sort += "ASC"
Else
Dim Direction As String = exp.Substring(exp.IndexOf(" ") + 1)
If Direction = "ASC" Then
Sort += "DESC"
Else
Sort += "ASC"
End If
End If
End If
ViewState("Sort") = Sort
ds.Tables(0).DefaultView.Sort = Sort
GridView1.DataBind()
End Sub
但有時候有效,有時候卻無效
有時候還會產生錯誤,什麼未支援Sort的
而且覺得這個方法很不好,每次Sorting 都必須重新繫結一次資料
且DataSet必須包含全部的資料,不然怎麼排序都是拿PageSize指定的資料量排序
想問問看有沒有人知道要怎麼寫比較好?
如果能完全用LinqDataSource來處理是最好
可惜LinqDataSource的Where屬性中不能包含關聯的資料表:(
--
不使用SqlDataSource,是因為SqlDataSource,不管是換頁或是排序,或是其他要求
都要抓全部的資料來處理,資料量大效能就非常差,之前吃過一次苦頭了=_=
--
▃▅▇▆▄ ▆▂▃ `
逝去感情如何能留住,半點癡情遺留殊不易,██▅▇▄▃ ▇▃▂" .
█████████▃i ▁▄▇
更多悽悽慘慘的遭遇…………██▆▃ █▅▆▃ˍ▄*
◢ ▂█▄▇▅▂▌.
我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.106.250
※ 編輯: fumizuki 來自: 123.194.106.250 (02/17 22:06)
※ 編輯: fumizuki 來自: 123.194.106.250 (02/17 22:06)