Thursday, 1 May 2014

Showing griview inside another gridview when click on button

No comments
 .aspx

<asp:TemplateField ShowHeader="False">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false"
                            CommandName="" onclick="LinkButton1_Click" Text="Button"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
 <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" Visible="false">
                            <Columns>                               
                                <asp:TemplateField HeaderText="date">
                                    <EditItemTemplate>
                                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("dateof") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("dateof") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </ItemTemplate>
      </asp:TemplateField>


 .cs

protected void LinkButton1_Click(object sender, EventArgs e)
        {
            LinkButton l1=(LinkButton)sender;
            GridViewRow gr=(GridViewRow)l1.NamingContainer;
            GridView gr1 = (GridView)GridView1.Rows[gr.RowIndex].FindControl("GridView2");
            LinkButton lbt = (LinkButton)GridView1.Rows[gr.RowIndex].FindControl("LinkButton1");
            gr1.Visible = true;
            lbt.Visible = false;
            Label lbll=(Label)GridView1.Rows[gr.RowIndex].FindControl("Label1");
            string id=lbll.Text;
            SqlConnection con = new SqlConnection("s");
            con.Open();
            string str = "select * from [order] where product_id=@product_id";       
            SqlCommand cmd = new SqlCommand(str, con);
            cmd.Parameters.AddWithValue("@product_id", id);
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            con.Close();
            gr1.DataSource = dt;
            gr1.DataBind();
        }