Во вложенном gridview таблица, соответствующая дочернему Gridview, не отображается в html
Я следовал учебному руководству 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 следующим образом
GridView gv = new GridView();
gv = (GridView)row.FindControl("GridView2");
Я предположил это, поскольку не генерируется исключение нулевой ссылки
1 ответ
Итак, вы установили источник данных дочерней сетки и затем связали его в родительской сетке? RowDataBound
? В противном случае не будет отображаться сетка.
var gv = (GridView)row.FindControl("GridView2");
gv.DataSource = someDataSource;
gv.DataBind();
Примечание: вам не нужно создавать экземпляр GridView через конструктор по умолчанию, если у вас есть ссылка в любом случае. Код, который создает GridView, является избыточным (даже в случае Codeproject).