c# - How to use DataTable AcceptChanges() method

DataTable AcceptChanges() method
DataTableAcceptChangesMethod.aspx

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html>
<script runat="server">
    void Button1_Click(object sender, System.EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.TableName = "Products";

        DataColumn dc1 = new DataColumn();
        dc1.ColumnName = "ProductID";
        dc1.DataType = typeof(int);
        dc1.AllowDBNull = false;
        dc1.Unique = true;

        DataColumn dc2 = new DataColumn();
        dc2.ColumnName = "ProductName";
        dc2.DataType = typeof(string);

        DataColumn dc3 = new DataColumn();
        dc3.ColumnName = "Price";
        dc3.DataType = typeof(decimal);

        dt.Columns.AddRange(new DataColumn[] { dc1, dc2, dc3 });

        Label1.Text = "We make a blank table without any DataRow";
        GridView1.DataSource = dt;
        GridView1.DataBind();
        
        dt.Rows.Add(new object[] { 1, "digital camera", "225" });
        dt.Rows.Add(new object[] { 2, "calculator", "50" });

        //this line commits all the changes made to this table
        //since last time AcceptChanges() method was called
        dt.AcceptChanges();

        Label2.Text = "Now we insert some data and accept the changes";
        GridView2.DataSource = dt;
        GridView2.DataBind();

        Label3.Text = "Now we made some changes";
        //this ine update a row data
        dt.Rows[0]["ProductName"] = "television";
        //this ine update another one row data
        dt.Rows[1]["Price"] =75.25;

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

        Label4.Text = "Now we reject the new changes";
        dt.RejectChanges();
        GridView4.DataSource = dt;
        GridView4.DataBind();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>How to use DataTable AcceptChanges method in ado.net</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:DarkBlue; font-style:italic;">
            How to use DataTable AcceptChanges method in ado.net
        </h2>
        <hr width="550" align="left" color="CornFlowerBlue" />
        <asp:Label
             ID="Label1"
             runat="server"
             Font-Size="Large"
             ForeColor="CornflowerBlue"
             >
        </asp:Label>
        <asp:GridView 
            ID="GridView1"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="525"
            ShowHeaderWhenEmpty="true"
            >
            <HeaderStyle BackColor="IndianRed" />
            <RowStyle BackColor="DeepPink" />
            <AlternatingRowStyle BackColor="HotPink" />
        </asp:GridView>
        <br />
        <asp:Label
             ID="Label2"
             runat="server"
             Font-Size="Large"
             ForeColor="CornflowerBlue"
             >
        </asp:Label>
        <br />
        <asp:GridView 
            ID="GridView2"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="525"
            >
            <HeaderStyle BackColor="IndianRed" />
            <RowStyle BackColor="DeepPink" />
            <AlternatingRowStyle BackColor="HotPink" />
        </asp:GridView>
        <br />
        <asp:Label
             ID="Label3"
             runat="server"
             Font-Size="Large"
             ForeColor="CornflowerBlue"
             >
        </asp:Label>
        <br />
        <asp:GridView 
            ID="GridView3"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="525"
            >
            <HeaderStyle BackColor="IndianRed" />
            <RowStyle BackColor="DeepPink" />
            <AlternatingRowStyle BackColor="HotPink" />
        </asp:GridView>
        <br />
        <asp:Label
             ID="Label4"
             runat="server"
             Font-Size="Large"
             ForeColor="CornflowerBlue"
             >
        </asp:Label>
        <br />
        <asp:GridView 
            ID="GridView4"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="525"
            >
            <HeaderStyle BackColor="IndianRed" />
            <RowStyle BackColor="DeepPink" />
            <AlternatingRowStyle BackColor="HotPink" />
        </asp:GridView>
        <asp:Button 
            ID="Button1"
            runat="server"
            OnClick="Button1_Click"
            Text="Populate GridView"
            Height="45"
            Font-Bold="true"
            ForeColor="DarkBlue"
            />
    </div>
    </form>
</body>
</html>
More c# examples