Friday, March 27, 2009

How DataGrid Editing in C#

using System;
using System.Collections;
using System.IO;
using System.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data.SqlClient;


public class InOut : Page
{

public DataGrid gridBO;
public string sqlStatement1 = "Select * FROM Employee WHERE employeeDepartmentId = 1 ORDER BY employeeDepRank";




protected void page_load(Object s, EventArgs e)
{

if(!IsPostBack)
{

BindData();

}


}

protected void BindData()
{
OleDbConnection objConn = new OleDbConnection(ConfigurationSettings.AppSettings["wabash"]);
OleDbCommand objCmd = new OleDbCommand(sqlStatement1, objConn);
objConn.Open();
OleDbDataReader objRdr = objCmd.ExecuteReader();
gridBO.DataSource = objRdr;
gridBO.DataBind();
objRdr.Close();
objConn.Close();
}


protected void gridBO_Edit(Object s, DataGridCommandEventArgs e)
{
gridBO.EditItemIndex = e.Item.ItemIndex;
BindData();

}

protected void gridBO_Cancel(Object s, DataGridCommandEventArgs e)
{
gridBO.EditItemIndex = -1;
BindData();

}

protected void gridBO_Update(Object s, DataGridCommandEventArgs e)
{
int employeeDepRank = (int)gridBO.DataKeys[e.Item.ItemIndex];
string strStatus = ((TextBox)e.Item.Cells[0].Controls[0]).Text;
string strComments = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
string strCmd = "UPDATE Employee Set employeeStatus='" + strStatus + "', employeeComments='" + strComments + "' WHERE employeeDepRank=" + employeeDepRank;

OleDbConnection objConn = new OleDbConnection(ConfigurationSettings.AppSettings["wabash"]);
OleDbCommand objCmd = new OleDbCommand(strCmd, objConn);

objConn.Open();
objCmd.ExecuteNonQuery();
objConn.Close();

gridBO.EditItemIndex = -1;
BindData();

}


*************************************************************************************

<%@ Page Language="C#" Debug="true" Inherits="InOut" Src="myles.cs" %>
<script runat="server">


</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- NEW IN OUT DATAGRID -->
<center>
<asp:DataGrid id="gridBO" runat="server" OnEditCommand="gridBO_Edit" OnCancelCommand="gridBO_Cancel" OnUpdateCommand="gridBO_Update" DataKeyField="employeeDepRank" AutoGenerateColumns="False">
<ItemStyle font-name="Arial" font-size="10pt" forecolor="#000000" />
<HeaderStyle font-name="Arial" font-size="12pt" font-bold="true" backcolor="#658bbc" forecolor="#FFFFFF" />
<AlternatingItemStyle font-name="Arial" font-size="10pt" backcolor="#e3efff" />
<Columns>
<asp:BoundColumn DataField="employeeStatus" HeaderText="Name" />
<asp:BoundColumn DataField="employeeName" HeaderText="Name" ReadOnly="true" />
<asp:BoundColumn DataField="employeePhone" HeaderText="Phone" ReadOnly="true" />
<asp:BoundColumn DataField="employeeComments" HeaderText="Comments" />
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" />
</Columns>
</asp:DataGrid>
</center>
<center><asp:Label id="lblStatus" runat="server"> </asp:Label>
</center>
<!-- END IN OUT DATAGRID -->
</form>
</body>
</html>

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home