Click here to Skip to main content
15,893,722 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
a) frmDietChart.aspx
  <asp:TemplateField HeaderText="Meal Type">
                                <ItemTemplate>
                                    <asp:DropDownList ID="ddlMealType" DataTextField="Name" DataValueField="Id" DataSource='<%#objBLLCombo.FillMealType()%>'
                                        runat="server" Width="90px" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Item Name">
                                <ItemTemplate>
                                    <asp:DropDownList ID="ddlItemName" DataTextField="Name" DataValueField="Id" DataSource='<%#objBLLCombo.FillMealItem()%>'
                                        runat="server" Width="90px" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Unit">
                                <ItemTemplate>
                                    <asp:DropDownList ID="ddlUnit" DataTextField="Name" DataValueField="Id" DataSource='<%#objBLLCombo.FillMealItemUnit()%>' runat="server" Width="120px" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Quantity">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtQuantity" runat="server" Width="70px" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Calories">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtCalories" runat="server" Width="70px" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Total Calories">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtTotCalories" runat="server" Width="70px" />
                                </ItemTemplate>
                                <FooterStyle HorizontalAlign="Right" />
                                <FooterTemplate>
                                    <asp:Button ID="ButtonAdd" runat="server" Text="Add New Row" OnClick="ButtonAdd_Click" />
                                </FooterTemplate>
                            </asp:TemplateField>
b) frmDietChart.aspx.cs
  protected void ButtonAdd_Click(object sender, EventArgs e)
    {
        AddRowToGrid();
    }
    private void AddRowToGrid()
    {
        int id = Convert.ToInt32(ViewState["ID"]);
        if (ViewState["DietChartDetailTable"] != null)
        {
            DataTable dt = (DataTable)ViewState["DietChartDetailTable"];
            DataRow dr = dt.NewRow();
        dr["Id"] = id + 1;
        dr["DietChartId"] = 0;
        dr["DietChartDetailId"] = 0;
        dr["MealTypeId"] = 0;
        dr["MealTypeName"] = string.Empty;
        dr["MealItemId"] = 0;
        dr["MealItemName"] = string.Empty;
        dr["MealItemUnitId"] = 0;
        dr["MealItemUnitName"] = string.Empty;
        dr["Quantity"] = 0;
        dr["Calories"] = 0;
        dr["TotalCalories"] = 0;
        dt.Rows.Add(dr);
        ViewState["DietChartDetailTable"] = dt;
        ViewState["ID"] = id;
        gvDietChartDetail.DataSource = dt;
        gvDietChartDetail.DataBind();
        }
        else
        {
            Response.Write("ViewState is null");
        }
    }
Posted
Updated 5-Aug-14 20:10pm
v2

1 solution

http://www.dotnetfunda.com/articles/show/180/how-to-insert-record-using-gridview

GridView with insert line

dnt use the button_click event like this.. try these articles. :)
lemme know if it worked.
 
Share this answer
 

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