SelectedIndexChanged Вложенный GridView asp.net C#
У меня есть следующий код:
<asp:GridView ID="gvMaster" runat="server" AutoGenerateColumns="False" DataKeyNames="subjectid" OnRowDataBound="gvMaster_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href="javascript:collapseExpand('subjectid-<%#Eval("subjectid") %>');"><img id="imagesubjectid-<%# Eval("subjectid") %>" alt="Click to show/hide orders" src="plus.png" /></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="strategicid" HeaderText="strategicid" HeaderStyle-CssClass="hideGridColumn" ItemStyle-CssClass="hideGridColumn" />
<asp:BoundField DataField="subject" HeaderText="Subject" />
<asp:TemplateField>
<ItemTemplate>
<tr>
<td colspan="100%">
<div id="subjectid-<%# Eval("subjectid") %>" style="display: none; position: relative; left: 5px;">
<asp:GridView ID="nestedGridView" runat="server" AutoGenerateColumns="False" DataKeyNames="areaid" ClientIDMode="Static">
<Columns>
<asp:BoundField DataField="area" HeaderText="Area" />
<asp:BoundField DataField="areaid" HeaderText="areaid" />
<asp:CommandField ShowSelectButton="true" ButtonType="Button" SelectText="Detail" />
</Columns>
</asp:GridView>
</div>
</td>
</tr>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Я хочу получить доступ к nestedGridView selectedindexchanged
, Я предоставляю commandfield
для доступа к выбранной строке. Как я могу это сделать?
Обычно я делаю обычные вещи с gridview. Это первый раз, когда я использую nestedgridview.
1 ответ
В конструкторе перейдите в "Редактировать шаблон" родительского GridView, затем выберите вложенный GridView и щелкните по событиям (Lightning) в свойствах, перейдите в текстовое поле "Выбранный индекс изменен" и нажмите Enter.
Это добавит OnSelectedIndexChanged="nestedGridView_SelectedIndexChanged"
к вложенному GridView и методу события protected void nestedGridView_SelectedIndexChanged(object sender, EventArgs e)
к коду, который вы также можете сделать вручную.