Como usar o evento Click dentro de uma GridView Child (GirdView dentro de outra)
Até que em fim encontrei. Não luta mais usa isso:
<asp:GridView runat="server" ID="GridView1" DataKeyNames="ID"> <Columns> <asp:TemplateField> <ItemTemplate> Name <%# Eval("ID") %> <asp:GridView runat="server" ID="gvChildGrid" DataSource='<%# Eval("Values") %>'> <Columns> <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="lnkButton" runat="server" Text="Click" OnClick="lnkButton_Click"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GridView1.DataSource = new[] { new { ID = 1, Values = new string[] { "1", "2", "3" } } }.ToList(); GridView1.DataBind(); } } protected void lnkButton_Click(object sender, EventArgs e) { LinkButton lnkButton = sender as LinkButton; //child gridview row clicked GridViewRow childRow = lnkButton.NamingContainer as GridViewRow; //child grid clicked GridView childGrid = childRow.NamingContainer as GridView; //parent gridviewrow containing the child grid GridViewRow parentRow = (childGrid.NamingContainer as GridViewRow); //Id is the datakeyname of my gridview string parentId = GridView1.DataKeys[parentRow.RowIndex].Value.ToString(); }
0 comentários:
Enviar um comentário