E:\web\learnaspcom\htdocs\freebook\learn\ubtoc.xml LearnAsp.com - ASP ASP.net Free Lessons
Search Search

#1 worldwide
FREE Coding Lessons

since 1996
   THE BEST WAY to learn ASP & Asp.net!
Advertise Here!
click for details
Credits Host:
DiscountASP.net
Server Admin:
The "Team"
Contact Info.
Charles M. Carroll
<Asp.net blog>
<personal site>
xxx

DataGrid Editing - C# by Charles Carroll

This page demonstrates how basic datagrid editing can be acoomplished!

   filename=/experiments/datagridedit/publishers_cs.aspx

<Test Script Below>


<%@ Trace="true" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="C#" runat="server">
string strConn;
protected void Page_Load(Object S, EventArgs E)
    {
    strConn="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=";
    strConn += Server.MapPath (@"\experiments\data\biblio.mdb") + ";";
    if (! IsPostBack)
        {
        FillUpGrid();
        }
    } // end page_load

protected void FillUpGrid()
    {
    OleDbConnection Conn= new OleDbConnection();
    OleDbDataReader Rdr=null;
    try
        {
        string strSQL;
        strSQL="select * from publishers where state='NY'";
        Conn=new OleDbConnection(strConn);
        OleDbCommand Cmd=new OleDbCommand(strSQL,Conn);
        Conn.Open();
        Rdr=Cmd.ExecuteReader();
        D1.DataSource = Rdr;
        D1.DataBind();
        // litAmy.Text="hi<br> <b>glad to see you</b><br> hello";
        } // end try
    catch (Exception excl)
        {
        litExc.Text  ="<font color='red'>";
        litExc.Text +=excl.ToString();
        // litExc.Text += "<blockquote>" + excl.StackTrace() + "</blockquote>";
        litExc.Text += "</font>";
        } // end catch
    finally
        {
        if (Rdr !=null)
            {
            if (Rdr.IsClosed==false) {Rdr.Close();}
            }
        if (Conn != null)
            {
            if (Conn.State==System.Data.ConnectionState.Open) {Conn.Close();}
            }
        } // end finally
    } // end FillUpGrid


protected void DataEdit(Object S, DataGridCommandEventArgs E)
    {
    D1.EditItemIndex=(int) E.Item.ItemIndex;    
    FillUpGrid();
    } // end DataEdit


protected void DataUpdate(Object S, DataGridCommandEventArgs E)
    { 
    D1.EditItemIndex=(int) E.Item.ItemIndex;    

    
    TextBox CompanyName=(TextBox) E.Item.Cells[2].Controls[0];
    TextBox CompName=(TextBox) E.Item.Cells[3].Controls[0];
    TextBox PhoneNum=(TextBox) E.Item.Cells[4].Controls[0];
    TextBox FaxNum=(TextBox) E.Item.Cells[5].Controls[0];
    TextBox Address=(TextBox) E.Item.Cells[6].Controls[0];
    TextBox City=(TextBox) E.Item.Cells[7].Controls[0];
    TextBox State=(TextBox) E.Item.Cells[8].Controls[0];
    TextBox Zip=(TextBox) E.Item.Cells[9].Controls[0];
    TextBox Comments=(TextBox) E.Item.Cells[10].Controls[0];
    
    //  Update publishers set Name='yyy',Company Name='Prentice Hall', Fax='555-1212' where PUBID=56
    
    string strSQL="";
    strSQL +="Update publishers set ";
    strSQL +="[Company Name]='" + CompanyName.Text + "', ";
    strSQL +="Name='" + CompName.Text + "', ";
    strSQL +="Telephone='" + PhoneNum.Text + "', ";
    strSQL +="Fax='" + FaxNum.Text + "', ";
    strSQL +="Address='" + Address.Text + "', ";
    strSQL +="City='" + City.Text + "', ";
    strSQL +="State='" + State.Text + "', ";
    strSQL +="Zip='" + Zip.Text + "', ";
    string strComments="";
    if (Comments.Text=="")
        {strComments="Null";}
    else
        {
        strComments=strComments.Replace("'","''");
        strComments="'" + Comments.Text + "'"; 
        }
        
    strSQL +="Comments=" + strComments + " ";
    strSQL +=" Where PubID=" + D1.DataKeys[(int)E.Item.ItemIndex];

    
    Trace.Write ("strSQL", strSQL);
    OleDbConnection Conn=null;
    
    try
        {    
        Conn=new OleDbConnection(strConn);
        OleDbCommand Cmd=new OleDbCommand(strSQL,Conn);
        Conn.Open();
        Cmd.ExecuteNonQuery();
        } // end try
    catch (Exception exc1)
        {
        Trace.Write("bad things happened","wow",exc1);
        }
    finally
        {
        if (Conn != null)
            {
            Conn.Close();
            }
        }
        
    D1.EditItemIndex=-1;
    FillUpGrid();
    
    } // end DataUpdate

protected void DataCancel(Object S, DataGridCommandEventArgs E)
    {
    D1.EditItemIndex=-1;
    FillUpGrid();
    } // end DataCancel
</script>
<html><head><title>OLEDB Database Example</title></head>
<body bgcolor="#FFFFFF">
<form runat="server">
<font face ="Verdana"<h3>My First Database Sample</h3></font>
<asp:literal id="litExc" runat="server" />
<ASP:datagrid id="D1" autogeneratecolumns="false" runat="server"
	OnEditCommand="DataEdit" 
	OnCancelCommand="DataCancel" 
	OnUpdateCommand="DataUpdate" 
	DataKeyField="PubID"
	>

    <columns>
		<asp:EditCommandColumn ButtonType="LinkButton" 
			EditText="Edit&nbsp;Record" UpdateText="Save&nbsp;Record" CancelText="Cancel&nbsp;Edit" />
    
        <asp:BoundColumn HeaderText="ID" ReadOnly="True" DataField="PubID"/>
        <asp:BoundColumn HeaderText="Company Name" DataField="Company Name"/>
        <asp:BoundColumn HeaderText="Name" DataField="Name"/>
        
        <asp:BoundColumn HeaderText="Phone#" DataField="Telephone">
            <ItemStyle Width="300px" />
        </asp:boundcolumn>
        
        <asp:BoundColumn HeaderText="Fax#" DataField="Fax">
            <ItemStyle Width="300px" />
        </asp:boundcolumn>
        
        <asp:BoundColumn HeaderText="Street Address" DataField="Address"/>
        <asp:BoundColumn HeaderText="City" DataField="City"/>
        <asp:BoundColumn HeaderText="St." DataField="State"/>
        <asp:BoundColumn HeaderText="Zip Code" DataField="Zip"/>
        <asp:BoundColumn HeaderText="Notes About This Publisher" DataField="Comments"/>
    </columns>
</ASP:datagrid>
</form></body></html>
Chaz Wish List
Tall Tip $5
Grande Tip $20
Venti Tip $39
Tip Jar Thanks
2004 Thanks
2005 Thanks
HUGE Tip -love site