从网格视图的编辑形式中定义的方法访问 RadiobuttonList

accessing radiobuttonList from a method defined in edit form of grid view

提问人:nnmmss 提问时间:11/10/2023 更新时间:11/11/2023 访问量:37

问:

我在gridview编辑表单中有一个单选按钮

<dx:GridViewDataTextColumn Visible="false" Caption='Report List'>
 <EditFormSettings VisibleIndex="10" Visible="false" />
 <EditItemTemplate>
     <dx:ASPxRadioButtonList ID="radioButLst2" runat="server" RepeatDirection="Horizontal">
         <Items>
             <dx:ListEditItem  Text="Opt1" Value="0" Selected="true" />
             <dx:ListEditItem Text="Opt2" Value="1" Selected="false" />
         </Items>
     </dx:ASPxRadioButtonList>
    </EditItemTemplate>
</dx:GridViewDataTextColumn>

以及 GridView Edit 表单中的一个按钮

 <dx:GridViewDataTextColumn Visible="false" Caption="">
 <EditFormSettings VisibleIndex="2" Visible="true" />
 <EditItemTemplate>
     <dx:ASPxButton ID="ButID"  runat="server" RenderMode="Link"             
         Text="Options"
         OnClick="Options_Click" AutoPostBack="false" />
 </EditItemTemplate>
</dx:GridViewDataTextColumn>

我无法从Options_Click方法访问 radioButLst2, 我试过这些

 ASPxGridView gridView = myGrid;
 ASPxRadioButtonList radioButtonList2 = gridView.FindEditFormTemplateControl("radioButLst2") as ASPxRadioButtonList;
 if (radioButtonList2 != null)    // it is always null

 (ASPxRadioButtonList)myGrid.FindEditRowCellTemplateControl(((GridViewDataColumn)myGrid.Columns["radioButLst2"]), "radioButLst2");

我怎样才能访问它

C# asp.net WebForms DevExpress

评论


答:

1赞 Mikhail 11/11/2023 #1

我试过这些 gridView.FindEditFormTemplateControl

这仅对使用 EditItemTemplate 时的 EditFormTemplate 有效。

(ASPxRadioButtonList)myGrid.FindEditRowCellTemplateControl(((GridViewDataColumn)myGrid.Columns[“radioButLst2”]), “radioButLst2”);

通过一些有效的标记来标识列,例如,Caption:

protected void Options_Click(object sender, EventArgs e) {
    ASPxGridView gridView = myGrid;

    //ASPxRadioButtonList radioButtonList2 = (ASPxRadioButtonList)myGrid.FindEditRowCellTemplateControl(((GridViewDataColumn)myGrid.Columns["radioButLst2"]), "radioButLst2");

    ASPxRadioButtonList radioButtonList2 = (ASPxRadioButtonList)myGrid.FindEditRowCellTemplateControl(((GridViewDataColumn)myGrid.Columns["Report List"]), "radioButLst2");
}