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> 

Sunday, May 15, 2011

DataView ToTable method to create a new DataTable in ado.net




DataViewToTableMethod.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, "iPhone", "iPhone User Interface Cookbook: RAW", "Cameron Banga" });  
        dt.Rows.Add(new object[] { 2, "MySQL", "MySQL 5.1 Plugin Development", "Andrew Hutchings, Sergei Golubchik" });  
        dt.Rows.Add(new object[] { 3, "MySQL", "MySQL Admin Cookbook", "Daniel Schneller, Udo Schwedt" });  
        dt.AcceptChanges();  
  
        Label1.Text = "Source DataTable";  
        GridView1.DataSource = dt.DefaultView;  
        GridView1.DataBind();  
  
        //this line create a new DataView  
        DataView dView = new DataView(dt);  
        dView.RowFilter = "Category = 'MySQL'";  
  
        Label2.Text = "Here we create a new DataView<br />" +  
                      "and set the RowFilter (Category = 'MySQL')";  
  
        GridView2.DataSource = dView;  
        GridView2.DataBind();  
  
        //this line create a new DataTable from DataView  
        DataTable dt2 = dView.ToTable();  
  
        Label3.Text = "Here we create a new DataTable from DataView";  
        GridView3.DataSource = dt2;  
        GridView3.DataBind();  
    }  
</script>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>How to use DataView ToTable method to create a new DataTable in ado.net</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <h2 style="color:DarkBlue; font-style:italic;">  
            How to use DataView ToTable method  
            <br /> to create a new DataTable in ado.net  
        </h2>  
        <hr width="450" align="left" color="CornFlowerBlue" />  
        <asp:Label  
             ID="Label1"  
             runat="server"  
             Font-Size="Large"  
             ForeColor="DodgerBlue"  
             Font-Italic="true"  
             >  
        </asp:Label>  
        <asp:GridView   
            ID="GridView1"  
            runat="server"  
            BorderColor="Snow"  
            ForeColor="Snow"  
            Width="600"  
            Font-Names="Courier"  
            >  
            <HeaderStyle BackColor="DarkSlateBlue" Height="30" />  
            <RowStyle BackColor="MediumVioletRed" />  
            <AlternatingRowStyle BackColor="PaleVioletRed" />  
        </asp:GridView>  
        <br />  
        <asp:Label  
             ID="Label2"  
             runat="server"  
             Font-Size="Large"  
             ForeColor="DodgerBlue"  
             Font-Italic="true"  
             >  
        </asp:Label>  
        <asp:GridView   
            ID="GridView2"  
            runat="server"  
            BorderColor="Snow"  
            ForeColor="Snow"  
            Width="600"  
            Font-Names="Courier"  
            >  
            <HeaderStyle BackColor="DarkSlateBlue" Height="30" />  
            <RowStyle BackColor="MediumVioletRed" />  
            <AlternatingRowStyle BackColor="PaleVioletRed" />  
        </asp:GridView>  
        <br />  
        <asp:Label  
             ID="Label3"  
             runat="server"  
             Font-Size="Large"  
             ForeColor="DodgerBlue"  
             Font-Italic="true"  
             >  
        </asp:Label>  
        <asp:GridView   
            ID="GridView3"  
            runat="server"  
            BorderColor="Snow"  
            ForeColor="Snow"  
            Width="600"  
            Font-Names="Courier"  
            >  
            <HeaderStyle BackColor="DarkSlateBlue" Height="30" />  
            <RowStyle BackColor="MediumVioletRed" />  
            <AlternatingRowStyle BackColor="PaleVioletRed" />  
        </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>