I have placed two grid views inside update panel. Both of them allow paging to show the data.
My code of .aspx
page is:
<asp:UpdatePanel ID="upMaster" runat="server" >
<ContentTemplate>
<div class="TeamBox">
<asp:GridView ID="MangersGrid" GridLines="None" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" runat="server" OnPageIndexChanging="MangersGrid_PageIndexChanging">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Team Managers" />
</Columns>
</asp:GridView>
</div>
<div class="TeamBox">
<asp:GridView ID="MembersGrid" AllowPaging="true" GridLines="None" AutoGenerateColumns="false" runat="server" PageSize="10" OnPageIndexChanging="MembersGrid_PageIndexChanging">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Team Members" />
</Columns>
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
My code for .cs
is:
protected void Page_Load(object sender, EventArgs e) {
DoProcess();
}
void DoProcess() {
// logic to get data table records one for each.
MangersGrid.DataSource = dtManagers;
MangersGrid.DataBind();
MembersGrid.DataSource = dtNativeMembers;
MembersGrid.DataBind();
upMaster.Update();
}
void MangersGrid_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
{
MangersGrid.PageIndex = e.NewPageIndex;
DoProcess();
}
// Members Gridview page index change event
void MembersGrid_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
{
MembersGrid.PageIndex = e.NewPageIndex;
DoProcess();
}
The page control shows number of pages but it only renders first page. If I click on next page it does not do anything.
What am I missing?