2012-03-21 52 views
0

渲染我跟着教程http://www.codeproject.com/Articles/20047/Editable-Nested-GridView-All-in-One在嵌套的GridView相當於孩子的GridView表中沒有HTML

在頁面對應父GridView中表呈現相應的兒童gridview的另一個表具有內的在那裏父表的行。而是它只有空段

<tr> 
    <td colspan="100%"> 
     <div id="div1" style=style="display:block;position:relative;left:15px;OVERFLOW:auto;WIDTH:97%"> 
      <div></div> 
     </div> 
    </td> 
</tr> 

雖然從Visual Studio我才知道,「孩子的GridView」(服務器控制)檢測到是調試。在父母的GridView的RowDataBound事件,它可以找到孩子GridView控件如下

GridView gv = new GridView(); 
gv = (GridView)row.FindControl("GridView2"); 

我認爲這是有產生

+1

注意:無論如何,當你有參考時,你不需要通過默認構造函數創建一個GridView的實例。該代碼(構造GridView)是多餘的。 – 2012-03-21 12:05:37

+1

那麼,你有沒有設置子網格的數據源,然後在父網格的RowDataBound中綁定它?否則就不會有電網。 – 2012-03-21 12:08:35

+0

@TimSchmelter Schmelter Initialy設置datasource爲子gridview後,我沒有調用gv.DataBind()。當孩子gridview綁定它已經呈現。非常感謝你 – 2012-03-21 12:37:19

回答

2

所以沒有nullreference例外,你設置的兒童網格和綁定的數據源它之後在母網的RowDataBound?否則將不會呈現網格。

var gv = (GridView)row.FindControl("GridView2"); 
gv.DataSource = someDataSource; 
gv.DataBind(); 

注意:無論如何您無需通過默認構造函數創建GridView的實例。構造GridView的代碼是多餘的(即使在Codeproject上也是如此)。