C# 如何检查嵌套Datagrid中单击的行按钮
我正在开发一个Web应用程序,其中包含一个与另一个数据网格嵌套的数据网格。其中,子数据网格在每个父网格的末尾包含一个按钮,如下所示:- 我想要的是我需要知道在点击按钮时点击了哪个按钮 这是我的aspx代码:C# 如何检查嵌套Datagrid中单击的行按钮,c#,.net,datagridview,buttonclick,C#,.net,Datagridview,Buttonclick,我正在开发一个Web应用程序,其中包含一个与另一个数据网格嵌套的数据网格。其中,子数据网格在每个父网格的末尾包含一个按钮,如下所示:- 我想要的是我需要知道在点击按钮时点击了哪个按钮 这是我的aspx代码: <asp:DataGrid ID="dgparent" runat="server" BorderWidth="1px" BorderColor="#FE9B00"> <Columns> <asp:TemplateColumn>
<asp:DataGrid ID="dgparent" runat="server" BorderWidth="1px" BorderColor="#FE9B00">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:DataGrid ID="dgchild" runat="server" >
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="mFCF_NUPKId" Visible="False"></asp:BoundColumn>
<asp:BoundColumn DataField="CostSheetNo" HeaderText="CostSheetNo" SortExpression="CostSheetNo">
</Columns>
</asp:DataGrid>
<table>
<tr>
<td>
<asp:Label ID="LblTotalCoLoaderFrom1" runat="server" Text="Total Cost : "></asp:Label>
<asp:TextBox ID="TxtTotalCoLoaderFrom1" runat="server" Enabled="false"></asp:TextBox>
</td>
<td>
<asp:Label ID="LblTotalYeild" runat="server" Text="Total Yeild : "></asp:Label>
<asp:TextBox ID="TxtTotalYeild" runat="server" Enabled="false"></asp:TextBox>
</td>
<td>
<asp:Button ID="BTNBookingReq" runat="server" class="formbutton" OnClick="BTNBookingReq_Click" Text="Send Booking Request"/>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
谁能帮我解决这个问题。
提前感谢您可以使用按钮的NamingContainer获取父网格项,它将提供datagrid项。从这里,您可以使用FindControl方法找到每个文本框,如下所示
protected void BTNBookingReq_Click(Object sender, EventArgs e)
{
Button btnSender = (Button)sender;
DataGridItem item = btnSender.NamingContainer as DataGridItem;
if (item != null)
{
TextBox TxtTotalCoLoaderFrom1 = item.FindControl("TxtTotalCoLoaderFrom1") as TextBox;
//Do your operation here
}
}
谢谢你的解决方案帮助我摆脱困境。hedge你能帮我解决这个问题吗请帮我解决我在这里提到的问题你好,你能帮我解决这个问题吗
protected void BTNBookingReq_Click(Object sender, EventArgs e)
{
Button btnSender = (Button)sender;
DataGridItem item = btnSender.NamingContainer as DataGridItem;
if (item != null)
{
TextBox TxtTotalCoLoaderFrom1 = item.FindControl("TxtTotalCoLoaderFrom1") as TextBox;
//Do your operation here
}
}