2012-07-16 89 views
0

基本上我設置我的數據源在我的gridview到我手動填寫的數據表。有沒有辦法讓gridview自動接收和排序?當我嘗試去gridview上的另一個頁面時,它給了我一個例外,表示分頁事件沒有被捕獲(這意味着我沒有事件的方法)。我也允許分頁設置爲true。GridView與DataTable作爲源不自動處理或排序

回答

4

你必須實現OnPageIndexChanging事件尋呼,OnSorting事件進行排序,如:

<asp:GridView ID="GridView1" OnPageIndexChanging="GridView1_PageIndexChanging" OnSorting="GridView1_Sorting" runat="server" /> 

,並在後面的代碼:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     GridView1.PageIndex = e.NewPageIndex; 
     GridView1.DataBind(); 
    } 
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) 
    { 
     // sort expression 
    } 

你可以參考這個Example

+0

我這樣做,但每當我嘗試更改頁面時,控件都會消失。 – tareqx3 2012-07-16 13:38:21

+1

你在pageload事件中寫了什麼?我想你在'if(!IsPostBack)'中編寫了網格綁定' – 2012-07-16 13:44:57

+0

是的,這是一個很常見的錯誤,人們忘記了在ASP代碼中檢查IsPostBack:P – 2012-07-16 14:52:33