powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вложенный GridView не видно из кода
9 сообщений из 9, страница 1 из 1
Вложенный GridView не видно из кода
    #39709628
it-sphere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно сделать вложенный GridView
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<asp:GridView ID="grdViewCustomers" runat="server" AutoGenerateColumns="false" DataKeyNames="id_detailset" OnRowDataBound="grdViewCustomers_OnRowDataBound" CssClass="Grid">
	<Columns>
		<asp:TemplateField ItemStyle-Width="20px">
			<ItemTemplate>
				<a href="JavaScript:divexpandcollapse ('div<%# Eval("id_detailset") %>');"><img alt="Details" id="imgdiv<%# Eval("id_detailset") %>" src="images/plus.png" /></a>
				<!-- Adding the Div container -->
				<div id="div<%# Eval("id_detailset") %>" style="display: block;"><%--block вкл. для тестирования--%>
					<!-- Adding Child GridView -->
					<asp:GridView ID="GridView_child" runat="server" AutoGenerateColumns="false" DataKeyNames="id_detailset" CssClass="ChildGrid">
						<Columns>
							<asp:BoundField ItemStyle-Width="150px" DataField="id_directory" HeaderText="id_directory" />
							<asp:BoundField ItemStyle-Width="150px" DataField="name_directory" HeaderText="name_directory" />
						</Columns>
					</asp:GridView>
				</div>
			</ItemTemplate>
		</asp:TemplateField>
		<asp:BoundField ItemStyle-Width="150px" DataField="id_detailset" HeaderText="id_detailset" />
		<asp:BoundField ItemStyle-Width="150px" DataField="name_detailset" HeaderText="name_detailset" />
	</Columns>
</asp:GridView>



Проблема в том, что когда
Код: plaintext
1.
<asp:GridView ID="GridView_child" runat="server" AutoGenerateColumns="false" DataKeyNames="id_detailset" CssClass="ChildGrid">


помещается в шаблон он становиться не видим из кода. При компиляции выдает ошибку "GridView_child" не объявлен.
Если "GridView_child" вынести из шаблона все работает, оба грида заполняются данными.
Подскажите, что не так делаю?
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39709632
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты не можешь обращаться к элементами грида напрямую. только через методы родителя к примеру gvParent_RowDataBound можешь в прокидывать данные как надо тебе, если обычным шаблоном не хватает.
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39709636
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

хотя может в теории пройтись по всем Row(по сути эт когда метод вызывается на конкретный row) и заглянуть в нужные Cell и там уже найти через FindControl. Но на практике я не помню чтоб такое пригодилось.
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39709641
it-sphere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRu,
Можно пример для данного кода?
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39709646
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
it-sphere,

если ты хочешь обратиться к гриду внутри из grdViewCustomers_OnRowDataBound
то это просто
Код: c#
1.
2.
3.
4.
5.
protected void grdViewCustomers_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
//0 эт номер колонки  
var child = (GridView)(e.Row.Cells[0].FindControl("GridView_child")));
}
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39713905
it-sphere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRu,
спасибо за пример, пытался его на vb переделать, не работает...
Код: vbnet
1.
2.
3.
4.
        Dim GridView_child = CType(e.Row.FindControl("GridView_child"), GridView)
        'Dim GridView_child = DirectCast(e.Row.FindControl("GridView_child"), GridView)
        GridView_child.DataSource = SqlDataSource2
        GridView_child.DataBind()


Ошибка, при заполнении данными, т.к.
Код: vbnet
1.
GridView_child | Nothing


Если Grid вынести из ItemTemplate, то он заполняется данными.
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39713908
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
it-sphere,
идея сама по себе верная, я такое раньше лет 6 назад постоянно делал. ну вот еще посмотри код как раз на вб есть пример
https://www.aspsnippets.com/Articles/Nested-GridView-Example-in-ASPNet-using-C-and-VBNet.aspx
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39714216
it-sphere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так все работает
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Protected Sub GridView_Parent_OnRowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        Dim SqlDataSource2 As New SqlDataSource
        SqlDataSource2.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("OrdersConnectSQL").ConnectionString

   If e.Row.RowType = DataControlRowType.DataRow Then
            SqlDataSource2.SelectCommand = "select * " & _
                                           "from name_table " & _
                                            "where column_name ='" & GridView_Parent.DataKeys(e.Row.RowIndex).Value.ToString() & "'"
        Dim GridView_child = CType(e.Row.FindControl("GridView_child"), GridView)
        GridView_child.DataSource = SqlDataSource2
        GridView_child.DataBind()
  end if
end sub
...
Рейтинг: 0 / 0
Вложенный GridView не видно из кода
    #39714219
it-sphere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRu,
спасибо за помощь.
Вопрос снят.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вложенный GridView не видно из кода
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]