Pages

Wednesday, 28 September 2011

Using AllowEdit property - how to edit update row in a DataView in ado.net

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.TableName = "Books";
        DataColumn dc1 = new DataColumn();
        dc1.ColumnName = "BookID";
        dc1.DataType = typeof(int);
        dc1.AllowDBNull = false;
        dc1.Unique = true;
        DataColumn dc2 = new DataColumn();
        dc2.ColumnName = "Category";
        dc2.DataType = typeof(string);
        DataColumn dc3 = new DataColumn();
        dc3.ColumnName = "BookName";
        dc3.DataType = typeof(string);
        DataColumn dc4 = new DataColumn();
        dc4.ColumnName = "Author";
        dc4.DataType = typeof(string);
        dt.Columns.AddRange(new DataColumn[] { dc1, dc2, dc3, dc4 });
        dt.Rows.Add(new object[] { 1, ".NET", "ASP.NET 3.5 Application Architecture and Design", "Vivek Thakur" });
        dt.Rows.Add(new object[] { 2, "Games", "Cocos2d for iPhone 0.99 Beginner's Guide", "Pablo Ruiz" });
        dt.AcceptChanges();
        GridView1.DataSource = dt.DefaultView;
        GridView1.DataBind();
        //this line create a new DataView
        DataView dView = new DataView(dt);
        dView.Sort = "BookName DESC" ;
        Label1.Text = "Here we create a new DataView<br />" +
                      "and set the sort order (BookName DESC)";
        GridView2.DataSource = dView;
        GridView2.DataBind();
        dView.AllowEdit = true;
        //this line edit a row in DataView which index is 0
        dView[0]["Category"] = ".NET";
        dView[0]["BookName"] = "Microsoft Windows Workflow Foundation 4.0 Cookbook";
        dView[0]["Author"] = "Andrew Zhu ";
        Label2.Text = "Here we edit a row in DataView, Now the DataView is...";
        GridView3.DataSource = dView;
        GridView3.DataBind();
        Label3.Text = "Now the source DataTable is...";
        GridView4.DataSource = dt;
        GridView4.DataBind();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Using AllowEdit property - how to edit update row in a DataView in ado.net</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:DarkBlue; font-style:italic;">
            Using AllowEdit property - how to
            <br /> edit update row in a DataView in ado.net
        </h2>
        <hr width="450" align="left" color="CornFlowerBlue" />
        <asp:GridView
            ID="GridView1"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="700"
            Font-Names="Courier"
            >
            <HeaderStyle BackColor="DarkMagenta" Height="30" />
            <RowStyle BackColor="DarkKhaki" />
            <AlternatingRowStyle BackColor="DarkOliveGreen" />
        </asp:GridView>
        <asp:Label
             ID="Label1"
             runat="server"
             Font-Size="Large"
             ForeColor="DodgerBlue"
             Font-Italic="true"
             >
        </asp:Label>
        <asp:GridView
            ID="GridView2"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="700"
            Font-Names="Courier"
            >
            <HeaderStyle BackColor="Maroon" Height="30" />
            <RowStyle BackColor="DarkKhaki" />
            <AlternatingRowStyle BackColor="DarkOliveGreen" />
        </asp:GridView>
        <asp:Label
             ID="Label2"
             runat="server"
             Font-Size="Large"
             ForeColor="DodgerBlue"
             Font-Italic="true"
             >
        </asp:Label>
        <asp:GridView
            ID="GridView3"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="700"
            Font-Names="Courier"
            >
            <HeaderStyle BackColor="Maroon" Height="30" />
            <RowStyle BackColor="DarkKhaki" />
            <AlternatingRowStyle BackColor="DarkOliveGreen" />
        </asp:GridView>
        <asp:Label
             ID="Label3"
             runat="server"
             Font-Size="Large"
             ForeColor="DodgerBlue"
             Font-Italic="true"
             >
        </asp:Label>
        <asp:GridView
            ID="GridView4"
            runat="server"
            BorderColor="Snow"
            ForeColor="Snow"
            Width="700"
            Font-Names="Courier"
            >
            <HeaderStyle BackColor="DarkMagenta" Height="30" />
            <RowStyle BackColor="DarkKhaki" />
            <AlternatingRowStyle BackColor="DarkOliveGreen" />
        </asp:GridView>
        <asp:Button
            ID="Button1"
            runat="server"
            OnClick="Button1_Click"
            Text="Populate GridView"
            Height="45"
            Font-Bold="true"
            ForeColor="DodgerBlue"
            />
    </div>
    </form>
</body>
</html>

No comments:

Post a Comment