Adding new record in database from Gridview footer row
Abstract: 
Here we will discuss about to add new recored in database using Gridview footer column.
Just drag and drop a gridview in your page and follow the below code.This code in three tier application
so i am writing here only front end code.
 <asp:GridView ID="gvStudentDetail" runat="server" DataKeyNames="StudentDetailId" AllowPaging="True" PageSize="12"
    AutoGenerateColumns="False" OnPageIndexChanging="gvStudentDetail_PageIndexChanging"
    OnRowDataBound="gvStudentDetail_RowDataBound" TabIndex="2" Width="697px" OnRowCancelingEdit="gvStudentDetail_RowCancelingEdit"
    OnRowEditing="gvStudentDetail_RowEditing" OnRowUpdating="gvStudentDetail_RowUpdating"
    ShowFooter="True" OnRowCommand="gvStudentDetail_RowCommand" OnRowDeleting="gvStudentDetail_RowDeleting">
    <Columns>
 <asp:TemplateField HeaderText="Sr. No">
     <ItemTemplate>
  <asp:Label ID="lblSrNo" runat="server"></asp:Label>
     </ItemTemplate>
 </asp:TemplateField>
 <asp:TemplateField HeaderText="StudentDetailId" Visible="False">
     <ItemTemplate>
  <asp:Label ID="lblStudentDetailId" runat="server" Text='<%# Bind("StudentDetailId") %>'></asp:Label>
     </ItemTemplate>
     <FooterTemplate>
  <asp:Label ID="lblFooterStudentDetailId" runat="server"></asp:Label>
     </FooterTemplate>
 </asp:TemplateField>
 <asp:TemplateField HeaderText="StudentDetail">
     <ItemTemplate>
  <asp:Label ID="lblStudentDetail" runat="server" Text='<%# Bind("StudentDetail") %>'></asp:Label>
     </ItemTemplate>
     <EditItemTemplate>
  <asp:TextBox ID="txtStudentDetail" runat="server" Text='<%# Bind("StudentDetail") %>'></asp:TextBox>
     </EditItemTemplate>
     <FooterTemplate>
  <asp:TextBox ID="txtNewStudentDetail" runat="server" Visible="false"></asp:TextBox>
     </FooterTemplate>
 </asp:TemplateField>
 <asp:TemplateField HeaderText="Edit">
     <ItemTemplate>
  <asp:ImageButton ID="ImgYes" runat="server" ImageUrl="~/Image/image_edit.png" CommandName="Edit" />
     </ItemTemplate>
     <EditItemTemplate>
  <asp:ImageButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
      ImageUrl="~/Image/imageupdate.png" Text="Update" />
  <asp:ImageButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
      ImageUrl="~/Image/imagecancel.png" Text="Cancel" />
     </EditItemTemplate>
     <FooterTemplate>
  <asp:ImageButton ID="ButtonAdd" runat="server" ImageUrl="~/Image/imagerow_add.png" CommandName="AddNew"
      ToolTip="Add New Record" />
  <asp:ImageButton ID="lbtnAdd" runat="server" CausesValidation="True" CommandName="Add"
      ImageUrl="~/Image/imageadd.png" Visible="false" Text="Add" />
  <asp:ImageButton ID="lbtnCancel" runat="server" CausesValidation="False" CommandName="Cancel"
      ImageUrl="~/Image/imagecancel.png" Visible="false" Text="Cancel" />
     </FooterTemplate>
 </asp:TemplateField>
 <asp:TemplateField HeaderText="Delete">
     <ItemTemplate>
  <asp:ImageButton ID="ImgDelete" runat="server" ImageUrl="~/Image/image_delete.png"
      CommandName="Delete" />
     </ItemTemplate>     
 </asp:TemplateField>
    </Columns>
</asp:GridView>
----------------------------------------------------------------------------------------
protected void GridViewStudentDetail()
    {
        try
        {
            Ds = objStudentDetailBLL.GetData();
            if (Ds.Tables[0].Rows.Count > 0)
            {
                gvStudentDetail.DataSource = Ds;
                gvStudentDetail.DataBind();
            }
            else
            {
                ShowNoResultFound(Ds.Tables[0], gvStudentDetail);
            }
        }
        catch (Exception ex)
        {
            exceptionMessage.Text = ex.Message;
        }
    }
    protected void gvStudentDetail_RowDataBound(object sender, GridViewRowEventArgs e)
    {   
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Label lblSrNo = (Label)e.Row.FindControl("lblSrNo");
            lblSrNo.Text = SrNo.ToString();
            SrNo++;          
        }
    }
    protected void gvStudentDetail_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvStudentDetail.PageIndex = e.NewPageIndex;
        GridViewStudentDetail();
    }
    protected void gvStudentDetail_RowEditing(object sender, GridViewEditEventArgs e)
    {
        StudentDetail.EditIndex = e.NewEditIndex;
        GridViewStudentDetail();
    }
    protected void gvStudentDetail_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {     
        
        objStudentDetail.StudentDetailId = Convert.ToInt32(((Label)gvStudentDetail.Rows[e.RowIndex].FindControl("lblStudentDetailId")).Text);
        objStudentDetail.StudentDetail = Convert.ToString(((TextBox)gvStudentDetail.Rows[e.RowIndex].FindControl("txtStudentDetail")).Text);      
        try
        {
            int intResultUpdate = objStudentDetailBLL.Update(objStudentDetailDetail);
            if (intResultUpdate > 0)
            {
                exception.Text = "Record Updated Successfully !";
                gvStudentDetail.EditIndex = -1;
                GridViewStudentDetail();
            }            
        }
        catch (Exception ee)
        {
            exception.Text = ee.Message.ToString();
        }
        finally
        {
            objStudentDetailBLL = null;
        }
    }
    protected void gvStudentDetail_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gvStudentDetail.EditIndex = -1;
        GridViewStudentDetail();
    }
    protected void gvStudentDetail_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        try
        {
        objStudentDetail.StudentDetailId = (int)gvStudentDetail.DataKeys[e.RowIndex].Value;
        int result = objStudentDetailBLL.Delete(objStudentDetailDetail);
            if (result > 0)
            {
                exception.Text = "Record Deleted Successfully !";
                gvStudentDetail.EditIndex = -1;
                GridViewStudentDetail();
            }
        }
        catch(Exception ex)
        {
            exceptionText = ex.Message.ToString();
        
        }
    }
    protected void gvStudentDetail_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        ImageButton lbtnAdd = (ImageButton)gvStudentDetail.FooterRow.FindControl("lbtnAdd");
        ImageButton lbtnCancel = (ImageButton)gvStudentDetail.FooterRow.FindControl("lbtnCancel");
        ImageButton ButtonAdd = (ImageButton)gvStudentDetail.FooterRow.FindControl("ButtonAdd");
        ButtonAdd.Visible = false;
        TextBox txtNewStudentDetail= (TextBox)gvStudentDetail.FooterRow.FindControl("txtNewStudentDetail");
        txtNewStudentDetail.Visible = true;
        lbtnCancel.Visible = true;
        lbtnAdd.Visible = true;
        
        objStudentDetailDetail.StudentDetail = Convert.ToString(((TextBox)gvStudentDetailFooterRow.FindControl("txtNewStudentDetail")).Text);       
        if (e.CommandName.Equals("Add"))
        {
            try
            {
                if (objStudentDetailDetail.StudentDetail == "")
                {
                    exceptionText = "Please Enter the StudentDetail!!";
                }
                else
                {
                    int intResultUpdate = objStudentDetailBLL.Insert(objStudentDetail);
                    if (intResultUpdate > 0)
                    {
                        exception.Text = "Record Added Successfully !";
                        StudentDetail.EditIndex = -1;
                        GridViewStudentDetail();
                    }
                }
            }
            catch (Exception ee)
            {
                exceptionMessage.Text = ee.Message.ToString();
            }
            finally
            {
                objStudentDetailBLL = null;
            }
        }
    }






0 comments:
Post a Comment