2011-10-03 6 views
1

나는 페이지 초기화에이 코드를 사용하고 있다는 점에서 그리드를 GridView 페이징이 작동하지 않습니까?

 UpagedList = new PagedListAdapter<User>(UserListGridView); 
     UpagedList.MaxRows = ConfigurationService.DefaultPageSize; 
     UserListGridView.PageIndexChanged += delegate 
     { 
      Presenter.FillDataOnDropDown(); 
     }; 
     UserListGridView.Sorting += new GridViewSortEventHandler(UserListGridView_Sorting); 
     UserListGridView.Sorted += delegate {Presenter.SortChanged(); }; 

내 그리드 코드 :

  <asp:GridView CssClass="Greed" ID="UserListGridView" runat="server" DataSourceID="ListUserDataSource" 
       AutoGenerateColumns="false" EmptyDataText="No data found" DataKeyNames="Id" OnSorting="UserListGridView_Sorting" AllowSorting="True" 
       PageSize="25" AllowPaging="True" GridLines="None" EnableViewState="false"> 
        <Columns></Columns> 
</asp:GridView> 

페이징이 작동하지 않습니다 ...? 그 밖에 내가 페이징을 위해해야 ​​할 일 .. 두 번째 페이지를 클릭 할 때 페이지가 변경되지는 않지만 데이터가 그리드에 추가됩니다.

답변

3

gridview에서 OnPageIndexChanging 이벤트가 누락 된 것으로 보입니다. 시도

protected void UserListGridViewIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     UserListGridView.PageIndex = e.NewPageIndex; 
     Bind(); // you data bind code 
    } 

희망 당신의 gridview OnPageIndexChanging="UserListGridViewIndexChanging" 와 백엔드 코드이 추가이

1
protected void UserListGridViewIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    UserListGridView.PageIndex = e.NewPageIndex; 
    UserListGridView.DataBind(); 
    Bind(); // you data bind code is here 
} 
하는 데 도움이
관련 문제