0

我有两个网格视图gridview1gridview2一个 asp.net 页面。为了将数据绑定到gridview2必须gridview1首先绑定,因为它依赖于它的values.

完成绑定后,gridview2我想添加一个新行并在最后一行gridview1添加整个行。gridview2所以不可能做到这一点onRowDataBoundgridview1

有没有办法做到这一点?。

我尝试了以下但不工作

 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();
4

1 回答 1

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

于 2012-10-19T07:42:29.507 回答