Во вложенном gridview таблица, соответствующая дочернему Gridview, не отображается в html - PullRequest
0 голосов
/ 21 марта 2012

Я следовал за учебником 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 Ответ

2 голосов
/ 21 марта 2012

Итак, вы установили источник данных дочерней сетки и связали его впоследствии в родительской сетке RowDataBound?В противном случае сетка не будет отображаться.

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

Примечание: вам не нужно создавать экземпляр GridView через конструктор по умолчанию, если у вас есть ссылка в любом случае.Код, который создает GridView, является избыточным (кстати, даже в Codeproject).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...