我在asp.net页面中有两个网格视图gridview1
和gridview2
。为了将数据绑定到gridview2
,gridview1
必须首先绑定,因为它依赖于values
。
完成绑定gridview2
后,我想在gridview1
中添加一个新行,并在最后一行中添加整个gridview2
。因此,onRowDataBound
gridview1
无法做到 grdQuestions.DataSource = LoadQuestions();
grdQuestions.DataBind();
grdAnswers.DataSource = LoadAnswer(Convert.ToInt32(grdQuestions.Rows[0].Cells[0].Text));
//GridView2.DataSource = LoadAnswer(2);
grdQuestions.Rows[0].Cells[0].Controls.Add(grdAnswers);
grdAnswers.DataBind();
grdQuestions.DataBind();
。
有办法吗?
我尝试了以下但是无法正常工作
{{1}}
答案 0 :(得分:4)
你可以这样做:
首先创建绑定父网格的函数。
private void BindParentGrid()
{
//Get data from database in dataset.
ParentGrid.DataSource = dataset;
ParentGrid.DataBind();
}
然后创建绑定子网格的函数。
private void BindChildGrid()
{
//get data from database in dataset2.
((GridView)ParentGrid.Rows[i].Cells[1].Controls[1]).DataSource = dataset2;
((GridView)ParentGrid.Rows[i].Cells[1].Controls[1]).DataBind();
}
然后先致电BindParentGrid()
,然后致电BindChildGrid().
此链接也可以帮助您:http://www.codeproject.com/Articles/22928/GridView-within-GridView