Click here to Skip to main content
15,892,643 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Front end

XML
<div class="ActionTopDiv">
 <asp:GridView ID="grd30DayLetterType" runat="server"; AutoGenerateColumns="false"
                OnRowDataBound="grd30DayLetterType_RowDataBound" OnRowCreated="grd30DayLetterType_RowCreated"
     <Columns>
       <asp:TemplateField>
         <ItemTemplate>
          <asp:Label ID="lbl30DayLetter" runat="server" Style="font-weight: 700" ForeColor="Gray"><%#Eval("C30DayLetter")%>:</asp:Label>
       <div style="margin-left: 30px; margin-top: 5px; margin-bottom: 40px;">
         <asp:GridView ID="grdCondoFirstName" runat="server" AutoGenerateColumns="false" DataKeyNames="ID" ShowHeader="false" GridLines="None">
     <Columns>
      <asp:TemplateField>
       <ItemTemplate>
       <asp:Label ID="lblFirstName" runat="server"><%#Eval("FirstName")%></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField>
          <ItemTemplate>
         <asp:Button ID="btnSelect" runat="server" Text="Select" CommandName="Select" />
            </ItemTemplate>
            </asp:TemplateField>
             </Columns>
             </asp:GridView>
             </div>
              </ItemTemplate>
           </asp:TemplateField>
             </Columns>
            </asp:GridView>
        </div>



Back End code

C#
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.fillDataList();
            }
        }
        private void fillDataList()
        {
            var result = from d in db.Transactions
                         join h in db.AccountCondoHOAs on d.CondoID equals h.CondoID
                         select new { d.C30DayLetter };
            var list=  result.Distinct();
            grd30DayLetterType.DataSource = list;
            grd30DayLetterType.DataBind();
            
            
        }

        protected void grd30DayLetterType_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string Day30LetterID = Convert.ToString(DataBinder.Eval(e.Row.DataItem,"C30DayLetter"));
                GridView gv = (GridView)e.Row.FindControl("grdCondoFirstName");
                var result = from d in db.Transactions
                             join h in db.AccountCondoHOAs on d.CondoID equals h.CondoID
                             where d.C30DayLetter == Day30LetterID
                             select new { h.FirstName,d.ID };
                gv.DataSource = result;
                gv.DataBind();
            }
        }

        protected void grd30DayLetterType_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                GridView grdChild=(GridView)(e.Row.FindControl("grdCondoFirstName"));
                grdChild.RowCommand +=new GridViewCommandEventHandler(grdChild_RowCommand);
            }
        }
        protected void grdChild_RowCommand(Object sender, GridViewCommandEventArgs e)
        {
            GridView grdchild=(GridView)(grd30DayLetterType.SelectedRow.FindControl("grdCondoFirstName"));
            if (e.CommandName == "Select")
            {
                
            }
        }



How do i get the Datakey of child gridview on the RowCommand
protected void grdChild_RowCommand(Object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
// How do i Access Datakey here?
}
}
Posted
Updated 19-Nov-12 19:13pm
v2

1 solution

Try this
design
C#
<asp:button
ID="btnSelect" runat="server" Text="Select" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' /></asp:button>


Code
C#
protected void grdChild_RowCommand(Object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int index = Convert.ToInt32(e.CommandArgument);
int key = Convert.ToInt32(GridView1.DataKeys[index].Value.ToString());
}
}
 
Share this answer
 
v2
Comments
Manjit Sidhu 20-Nov-12 2:58am    
Thanks Sir...............
pradiprenushe 20-Nov-12 3:36am    
Welcome

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900