0

我按照教程http://www.codeproject.com/Articles/20047/Editable-Nested-GridView-All-in-One

在页面中,对应于父 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的ROwDataBound事件中可以找到子gridview控件如下

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

我假设这是因为没有生成空引用异常

4

1 回答 1

2

那么,您是否设置了子网格的数据源并将其绑定到父网格中RowDataBound?否则将不会渲染网格。

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

旁注:无论如何,当您有引用时,您不需要通过默认构造函数创建 GridView 的实例。构造 GridView 的代码是多余的(顺便说一句,即使在 Codeproject 上也是如此)。

于 2012-03-21T12:42:29.317 回答