c# .net

insert update delete in gridview in asp.net with c#

insert update delete in gridview in asp.net with c#, someone asked me to explain?

In this article, I will show to how to insert, update, delete in gridview in asp.net with c# code.

First step you should create an xml file with column fields and save it as mytask.xml and then you will bind the xml file data to a Gridview and perform CURD Operation(insert,update,delete).

Copy and paste the following code:

Assigntask.aspx: 

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .multiLine {
           height: 50px;
            width: 250px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table>
                <tr>
                   <td>
                        <asp:GridView ID="XmlGridView" runat="server" AutoGenerateColumns="false"
                            Height="247px" Width="795px" BackColor="White" BorderColor="#999999"
                           BorderStyle="None" BorderWidth="1px" CellPadding="3"
                            GridLines="Vertical" ShowFooter="true"
                            OnRowCancelingEdit="XmlGridView_RowCancelingEdit" OnRowDeleting="XmlGridView_RowDeleting"
                            OnRowEditing="XmlGridView_RowEditing" OnRowUpdating="XmlGridView_RowUpdating">
 
                            <AlternatingRowStyle BackColor="#DCDCDC" />
                            <Columns>
                               <asp:TemplateField HeaderText="ID">
                                    <ItemTemplate>
                                        <asp:Label ID="LblID" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="TxtID" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Title">
                                   <ItemTemplate>
                                       <asp:Label ID="LblTitle" runat="server" Text='<%# Bind("Title")%>'></asp:Label>
                                   </ItemTemplate>
                                   <EditItemTemplate>
                                      <asp:TextBox ID="TxtEditTitle" CssClass="multiLine" TextMode="MultiLine" runat="server"></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                       <asp:TextBox ID="TxtTitle" TextMode="MultiLine" runat="server"></asp:TextBox>
                                   </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Description">
                                    <ItemTemplate>
                                        <asp:Label ID="LblDescription" runat="server" Text='<%# Bind("Description") %>'></asp:Label>
                                   </ItemTemplate>
                                    <EditItemTemplate>
                                       <asp:TextBox ID="TxtEditDescription" CssClass="multiLine" TextMode="MultiLine" runat="server"></asp:TextBox>
                                   </EditItemTemplate>
                                    <FooterTemplate>
                                       <asp:TextBox ID="TxtDescription" TextMode="MultiLine" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Url">
                                    <ItemTemplate>
                                       <asp:Label ID="LblUrl" runat="server" Text='<%# Bind("Url") %>'></asp:Label>
                                    </ItemTemplate>
                                   <EditItemTemplate>
                                        <asp:TextBox ID="TxtEditUrl" CssClass="multiLine" TextMode="MultiLine" runat="server"></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                       <asp:TextBox ID="TxtUrl" TextMode="MultiLine" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                               </asp:TemplateField>
                                <asp:TemplateField HeaderText="Operations">
                                    <ItemTemplate>
                                        <asp:Button ID="BtnEdit" runat="server" CommandName="Edit" Text="Edit" />
                                        <asp:Button ID="BtnDelete" runat="server" CommandName="Delete" Text="Delete" />
                                    </ItemTemplate>
                                   <EditItemTemplate>
                                        <asp:Button ID="BtnUpdate" runat="server" CommandName="Update" Text="Update" />
                                        <asp:Button ID="BtnCancel" runat="server" CommandName="Cancel" Text="Cancel" />
                                    </EditItemTemplate>
                                   <FooterTemplate>
                                       <asp:Button ID="BtnInsert" runat="server" Text="Insert" OnClick="BtnInsert_Click" />
                                  </FooterTemplate>
                                </asp:TemplateField>
                            </Columns>
                            <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
                            <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
                            <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
                            <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
                            <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
                           <SortedAscendingCellStyle BackColor="#F1F1F1" />
                           <SortedAscendingHeaderStyle BackColor="#0000A9" />
                            <SortedDescendingCellStyle BackColor="#CAC9C9" />
                           <SortedDescendingHeaderStyle BackColor="#000065" />
                        </asp:GridView>
                   </td>
                </tr>
            </table>
       </div>
    </form>
</body>
</html>

Assigntask.aspx.cs:

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack == true)
            {
                Get_Xml();
            }
        }
 
        void Get_Xml()
        {
           DataSet ds = new DataSet();
           ds.ReadXml(Server.MapPath("~/Content/Mytask.xml"));

            if (ds != null && ds.HasChanges())
            {
               XmlGridView.DataSource = ds;
               XmlGridView.DataBind();
            }
            else
            {
                XmlGridView.DataBind();
            }
        }
       protected void BtnInsert_Click(object sender, EventArgs e)
      {
            Insert_XML();
        }
 
        void Insert_XML()
        {
            TextBox Task_ID = XmlGridView.FooterRow.FindControl("TxtID") as TextBox;
            TextBox Task_Title = XmlGridView.FooterRow.FindControl("TxtTitle") as TextBox;
            TextBox Task_Description = XmlGridView.FooterRow.FindControl("TxtDescription") as TextBox;
            TextBox Task_Url = XmlGridView.FooterRow.FindControl("TxtUrl") as TextBox;
            XmlDocument MyXmlDocument = new XmlDocument();
           MyXmlDocument.Load(Server.MapPath("~/Content/Mytask.xml"));
            XmlElement ParentElement = MyXmlDocument.CreateElement("Task");
           Get_Xml();
            DataSet ds = XmlGridView.DataSource as DataSet;
            DataRow dr = (DataRow)ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1];

            
XmlElement ID = MyXmlDocument.CreateElement("ID");
            int x = Int32.Parse(dr["ID"].ToString()); // parse string to integer c#
            x++;       // incrementing value
            ID.InnerText = x.ToString();//assigning incremented valuee to the xml field

           
XmlElement Title = MyXmlDocument.CreateElement("Title");
            Title.InnerText = Task_Title.Text;
            XmlElement Description = MyXmlDocument.CreateElement("Description");
           Description.InnerText = Task_Description.Text;
 
            XmlElement Url = MyXmlDocument.CreateElement("Url");
           Url.InnerText = Task_Url.Text;
            ParentElement.AppendChild(ID);
            ParentElement.AppendChild(Title);
            ParentElement.AppendChild(Description);
           ParentElement.AppendChild(Url);

            MyXmlDocument.DocumentElement.AppendChild(ParentElement);

            MyXmlDocument.Save(Server.MapPath("~/Content/Mytask.xml"));
            Get_Xml();

       }
        protected void XmlGridView_RowEditing(object sender, GridViewEditEventArgs e)
        {
            XmlGridView.EditIndex = e.NewEditIndex;
             Get_Xml();
         }
 
        protected void XmlGridView_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
         XmlGridView.EditIndex = -1;
           Get_Xml();
         }
  
        protected void XmlGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            int id = XmlGridView.Rows[e.RowIndex].DataItemIndex;
            TextBox Title = XmlGridView.Rows[e.RowIndex].FindControl("TxtEditTitle") as TextBox;
            TextBox Description = XmlGridView.Rows[e.RowIndex].FindControl("TxtEditDescription") as TextBox;
            TextBox Url = XmlGridView.Rows[e.RowIndex].FindControl("TxtEditUrl") as TextBox;
            XmlGridView.EditIndex = -1;
            Get_Xml();
            DataSet ds = XmlGridView.DataSource as DataSet;
            ds.Tables[0].Rows[id]["Title"] = Title.Text;
            ds.Tables[0].Rows[id]["Description"] = Description.Text;
            ds.Tables[0].Rows[id]["Url"] = Url.Text;
            ds.WriteXml(Server.MapPath("~/Content/Mytask.xml"));
            Get_Xml();
        }
        protected void XmlGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Get_Xml();
            DataSet ds = XmlGridView.DataSource as DataSet;
            ds.Tables[0].Rows[XmlGridView.Rows[e.RowIndex].DataItemIndex].Delete();
           ds.WriteXml(Server.MapPath("~/Content/Mytask.xml"));
           Get_Xml();
       }

 

Output:

insert update delete in xml using c#

Post your comments / questions