2012-11-13 65 views
-2

我在asp頁面中使用sql數據源創建了一個網格。所以排序是使用asp.net在構建控件中自動完成的(在vb.net中沒有添加用於排序的代碼)。刷新後在asp.net中排序gridview

但是,如果我刷新頁面或如果我去其他頁面,排序順序會消失。

有沒有辦法趕上以前的排序順序(排序方向和排序表達式)?

回答

2

在頁面PreRender事件存儲GridView.SortDirection當前值和GridView.SortExpression性質,例如,Session

this.Session[this.GetType().FullName + ".GridView.SortDirection"] = this.GridView.SortDirection; 
this.Session[this.GetType().FullName + ".GridView.SortExpression"] = this.GridView.SortExpression; 

在頁面Init事件執行此代碼:

if (!this.IsPostBack && this.Session.Contains(this.GetType.FullName + ".GridView.SortDirection")) 
{ 
    this.GridView.SortDirection = (SortDirection)this.Session[this.GetType().FullName + ".GridView.SortDirection"]; 
    this.GridView.SortExpression = (string)this.Session[this.GetType().FullName + ".GridView.SortExpression"]; 
} 
+0

如果需要幫助轉換這段代碼給VB.NET,讓我們知道。 –

+0

謝謝隊友。 ........ – Binny