Skip to main content

Add Dynamic Row In Grid

--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
<div>
        <br />
        No. of&nbsp; Person :
        <asp:DropDownList ID="ddl" runat="server" AutoPostBack="True"
            onselectedindexchanged="ddl_SelectedIndexChanged">
        <asp:ListItem Text="1" />
        <asp:ListItem Text="2" />
        <asp:ListItem Text="3" />
        <asp:ListItem Text="4" />
        </asp:DropDownList>
        <asp:GridView ID="Gridview1" runat="server" ShowFooter="True"
            AutoGenerateColumns="False" BackColor="White" BorderColor="#999999"
            BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical">
            <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
            <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
            <Columns>
                <asp:BoundField DataField="RowNumber" HeaderText="S. No." />
                <asp:TemplateField HeaderText="Header 1">
                    <ItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Header 2">
                    <ItemTemplate>
                        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Header 3">
                    <ItemTemplate>
                        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                    </ItemTemplate>
                    <%--<FooterStyle HorizontalAlign="Right" />
                    <FooterTemplate>
                        <asp:Button ID="ButtonAdd" runat="server" Text="Add New Row" OnClick="ButtonAdd_Click" />
                    </FooterTemplate>--%>
                </asp:TemplateField>
            </Columns>
            <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="#DCDCDC" />
        </asp:GridView>
    </div>
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------

protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
        //AddNewRowToGrid();


        #region Create Columns
        dt_tempReservation = new DataTable();
        dt_tempReservation.Columns.Add(new DataColumn("RowNumber", typeof(string)));
        dt_tempReservation.Columns.Add(new DataColumn("Column1", typeof(string)));
        dt_tempReservation.Columns.Add(new DataColumn("Column2", typeof(string)));
        dt_tempReservation.Columns.Add(new DataColumn("Column3", typeof(string)));
        #endregion

        #region Data Save in dt_tempReservation (Datatable)
        DataRow drCurrentRow;
        for (int i = 0; i < Gridview1.Rows.Count; i++)
        {
            TextBox box1 = (TextBox)Gridview1.Rows[i].Cells[1].FindControl("TextBox1");
            TextBox box2 = (TextBox)Gridview1.Rows[i].Cells[2].FindControl("TextBox2");
            TextBox box3 = (TextBox)Gridview1.Rows[i].Cells[3].FindControl("TextBox3");

            drCurrentRow = dt_tempReservation.NewRow();
            drCurrentRow["RowNumber"] = i + 1;

            drCurrentRow["Column1"] = box1.Text;
            drCurrentRow["Column2"] = box2.Text;
            drCurrentRow["Column3"] = box3.Text;

            dt_tempReservation.Rows.Add(drCurrentRow);
        }
        #endregion

        int NoofRows = Convert.ToInt32(ddl.SelectedItem.Text);

        #region Required Rows Created
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
        dt.Columns.Add(new DataColumn("Column1", typeof(string)));
        dt.Columns.Add(new DataColumn("Column2", typeof(string)));
        dt.Columns.Add(new DataColumn("Column3", typeof(string)));
        for (int i = 0; i < NoofRows; i++)
        {
            DataRow dr = null;

            dr = dt.NewRow();

            dr["RowNumber"] = i + 1;
            dr["Column1"] = string.Empty;
            dr["Column2"] = string.Empty;
            dr["Column3"] = string.Empty;
            dt.Rows.Add(dr);
        }
        #endregion

        Gridview1.DataSource = dt;
        Gridview1.DataBind();

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            try
            {
                TextBox box1 = (TextBox)Gridview1.Rows[i].Cells[1].FindControl("TextBox1");
                TextBox box2 = (TextBox)Gridview1.Rows[i].Cells[2].FindControl("TextBox2");
                TextBox box3 = (TextBox)Gridview1.Rows[i].Cells[3].FindControl("TextBox3");

                box1.Text = dt_tempReservation.Rows[i]["Column1"].ToString();
                box2.Text = dt_tempReservation.Rows[i]["Column2"].ToString();
                box3.Text = dt_tempReservation.Rows[i]["Column3"].ToString();
            }
            catch (Exception ex) { }
        }
        //Gridview1.DataSource = dt_tempReservation;
        //Gridview1.DataBind();
    }
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------

Comments