【发布时间】:2020-10-30 05:37:20
【问题描述】:
我正在使用 ASPxGridView,但无法访问 DetailRow 内的文本框(即在第二个网格视图中,不在主网格视图中)
谁能帮帮我
ASPX
<Templates>
<DetailRow>
<dx:ASPxGridView ID="dgCustomers" runat="server" KeyFieldName="CustomerCode" OnBeforePerformDataSelect="dgCustomers_BeforePerformDataSelect" OnDataBinding="dgCustomers_DataBinding" Width="100%" OnRowDeleting="dgCustomers_RowDeleting" OnRowInserting="dgCustomers_RowInserting"
OnRowUpdating="dgCustomers_RowUpdating">
<Columns>
<dx:GridViewDataColumn FieldName="CustomerCode" VisibleIndex="0">
<EditItemTemplate>
<asp:TextBox ID="txtCustCode" runat="server" Width="50px" />
</EditItemTemplate>
</dx:GridViewDataColumn>
<dx:GridViewDataColumn>
<EditItemTemplate>
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" />
</EditItemTemplate>
<dx:GridViewCommandColumn ShowNewButton="true" ShowEditButton="true" ShowDeleteButton="true" VisibleIndex="4">
</dx:GridViewCommandColumn>
</Columns>
代码背后
我尝试过这样的事情:
ASPxGridView detail = dgDepots.FindDetailRowTemplateControl(0, "dgCustomers") as ASPxGridView;
if (detail != null)
{
for (int i = 0; i < detail.VisibleRowCount; i++)
{
var item = detail.FindDetailRowTemplateControl(0, "txtCustCode");
TextBox textbox = detail.FindRowCellTemplateControl(i, detail.Columns["CustomerCode"] as GridViewDataColumn, "txtCustCode") as TextBox;
var anything = textbox.Text;
if (CustomerCodeArray.Contains(anything))
{
//Something
}
}
}
但在调试时我可以看到 textbox 显示为 null
我哪里做错了请帮帮我
【问题讨论】:
-
您尝试在按钮点击事件中访问文本框?
-
是的,但我是在隐藏文件的帮助下完成的
-
我将文本框值存储在隐藏字段中并在服务器端使用
标签: c# asp.net aspxgridview