2012-10-19 25 views
0

我在asp.net頁面中有兩個Grid View gridview1gridview2。爲了將數據綁定到gridview2gridview1必須首先綁定,因爲它取決於其values將GridView2添加到GridView1行

完成綁定後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(); 
+1

您是否嘗試過GridView的DataBound事件? [檢查了這個](http://forums.asp.net/t/1343965.aspx/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