Кнопка "Найти" в области DetailRow объекта ASPxGridView
У меня есть вложенный ASPxGridView внутри другого ASPxGridView. Вторая сетка находится в области Шаблон DetailRow.
В зависимости от роли пользователя мне нужно включить / отключить кнопки (на стороне сервера).
Я могу найти и затем выполнить действия с кнопками, когда они расположены в области GridViewDataColumn (см. Кнопки buttonDocumentTypeEdit и buttonDocumentSubtypeEdit). Я использую событие OnHtmlDataCellPrepared для этой цели.
Но я не могу найти способ найти кнопку buttonDocumentSubtypeAdd на стороне сервера, которая находится в области DetailRow.
ASPxGridView:
<dx:ASPxGridView ID="gridDocumentTypes" ClientInstanceName="gridDocumentTypes" runat="server" AutoGenerateColumns="False"
DataSourceID="odsDocumentTypes" KeyFieldName="Id" Width="100%"
OnHtmlDataCellPrepared="gridDocumentTypes_OnHtmlDataCellPrepared">
<Columns>
<dx:GridViewDataTextColumn Caption="Document Type" FieldName="Name"/>
<dx:GridViewDataColumn Name="columnDocumentTypeActions">
<DataItemTemplate>
<dx:ASPxButton ID="buttonDocumentTypeEdit" runat="server" Text="Edit"/>
</DataItemTemplate>
</dx:GridViewDataColumn>
</Columns>
<Templates>
<DetailRow>
<dx:ASPxButton ID="buttonDocumentSubtypeAdd" ClientInstanceName="buttonDocumentSubtypeAdd" runat="server"
Text= "Add Subtype" AutoPostBack="False" UseSubmitBehavior="False">
</dx:ASPxButton>
<dx:ASPxGridView ID="gridDocumentSubtypes" runat="server" ClientInstanceName="gridDocumentSubtypes"
DataSourceID="GetDocumentSubtypes" KeyFieldName="Id" Width="100%">
<Columns>
<dx:GridViewDataColumn FieldName="Name" Caption="Document Subtype" />
<dx:GridViewDataColumn Name="columnDocumentSubtypeActions">
<DataItemTemplate>
<table>
<tr>
<td style="padding-right: 5px">
<dx:ASPxButton ID="buttonDocumentSubtypeEdit" runat="server" Text="Edit">
</dx:ASPxButton>
</td>
</tr>
</table>
</DataItemTemplate>
</dx:GridViewDataColumn>
</Columns>
</dx:ASPxGridView>
</DetailRow>
</Templates>
</dx:ASPxGridView>
Код сервера:
protected void gridDocumentTypes_OnHtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs e)
{
if (e.DataColumn.Name == "columnDocumentTypeActions")
{
var buttonEdit = (ASPxButton)gridDocumentTypes.FindRowCellTemplateControl(e.VisibleIndex, e.DataColumn, "buttonDocumentTypeEdit");
//TODO: action
}
}