看板 Visual_Basic 關於我們 聯絡資訊
請輸入專案類型(網站專案或者應用程式專案): 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)