Wednesday, July 6, 2011

AllowEdit property

DataViewAllowEditProperty.aspx

    <%@ 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>