2012-07-16 92 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