2014-01-09 16 views
1

我真的不明白。GridView - 如果人們使用Session/Viewstate,GridViewSortEventArgs.SortDirection和DataView.Sort的目的是什麼?

我已經更多地使用ASP.NET MVC框架但更少使用WebForms。 我已經搜索了很多關於如何在GridView上進行排序的問題,但大多數情況下最終會使用會話或ViewState,我不喜歡這些。
相反,this how-to解釋了它應該如何工作,但它不適用於我。

它結束了那

  1. 單擊列名,做回發後以同樣的gridview的停留像以前排序。
  2. GridViewSortEventArgs.SortDirection始終是「升序」(也有關於行爲的一些線程)

你有任何想法如何可能/應該工作在上面,並且不使用的how-to提到解釋會議/ ViewState的?或者,也許這個方法根本就不工作?

親切的問候

更新1:
的問題是更普遍,也關係到如何做,而不是我的實現。
我的實現方式與how-to方式沒有什麼不同。
還有一些需要注意的事項:
- 我被迫使用ASP.NET 3.5框架
- 在我的實現中,我在用戶控件(.ascx文件)中創建了一個簡單的GridView,它包含代碼中的邏輯然後將該用戶控件加載到簡單的空頁面(.aspx文件)上。

也許任何人都可以確認該如何爲他工作?

+0

能否請您發佈一些相關的代碼? – Andrea

+0

的問題是更普遍,也關係到如何做,而不是我的實現。實施方式與操作方法沒有區別。我會更新我的文章並提出一些可能相關的其他信息。 –

回答

0

據我瞭解,你可以操縱底層的結果集,如果您加載結果到DataView

http://msdn.microsoft.com/en-us/library/system.data.dataview%28v=vs.110%29.aspx

隨着數據視圖,您可以設置排序方向,並綁定該數據視圖的格。人們使用Session或ViewState的原因是在回傳用戶選擇的排序內容之間切換。

可以跟蹤唯一的其他方式哪個方向,用戶是通過分揀,我能想到的,而不從外部數據源獲取,是通過使用Request.Querystring

我從來沒有運氣GridView的排序和總是導致使用DataView進行排序才能正常工作。

1

GridViewSortEventArgs.SortDirection沒有用處!這是一個功能(據我所知)從來沒有完全由微軟實現:它總是一直返回Ascending。因此,每個人都提出了自己最喜歡的解決方法,以支持雙向gridview排序的缺乏支持!我知道聽到有一個財產根本沒有被使用,這似乎很奇怪,但就我所知,這是事實!

這裏有很多變通辦法的原因排序方向總是上升的問題... GridView sorting: SortDirection always Ascending

就個人而言,我更喜歡我自己的解決方案,不使用ViewState中或會議,而是普通的老式香草隱藏的領域!隱藏字段是在我看來很「便宜」,因爲我總是關閉的ViewState所有的WebForm項目...這裏是一個鏈接到隱藏字段的解決方案:

https://stackoverflow.com/a/25657044/796858

相關問題