I have a post called Nested GridView using JavaScript in this same blog.
A guy at ASP.NET Forums asked how to implement paging for the child grid and this is what made me make a post on this.
Just change the ASPX.CS like this.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
BindGridToDS(GridView1.DataKeys[e.Row.RowIndex].Value.ToString(), (GridView)e.Row.FindControl("GridView2"));
}
}
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView gvwChild = ((GridView)sender);
GridViewRow gvRowParent = ((GridView)sender).Parent.Parent as GridViewRow;
gvwChild.PageIndex = e.NewPageIndex;
BindGridToDS(GridView1.DataKeys[gvRowParent.RowIndex].Value.ToString(), gvwChild);
//show the div again after postback
string strDIVID = "div" + GridView1.DataKeys[gvRowParent.RowIndex].Value.ToString();
string cScript = "";
ClientScript.RegisterStartupScript(typeof(Page), "clientscript", cScript);
}
private void BindGridToDS(string strCustomerID, GridView gv)
{
SqlDataSource dbSrc = new SqlDataSource();
dbSrc.ConnectionString = ConfigurationManager.ConnectionStrings["NorthWind"].ConnectionString;
dbSrc.SelectCommand = "SELECT * FROM Orders WHERE CustomerID = '" + strCustomerID + "' ORDER BY OrderDate";
gv.DataSource = dbSrc;
gv.DataBind();
}
Happy Coding!
1 comments on "Nested GridView with Paging for Child Grid"
Subscribe in a Reader
Hi, i have tried the way you have mentioned. I can't figure out the way how to set up the paging thing. Could you give me some info about the thing you do?
Thanks in advance,
Alex
Post a Comment