您的位置:首页 > 编程语言 > ASP

在asp.net datagrid中实现多行数据编辑和删除

2007-04-13 20:42 507 查看




cs代码


using System;


using System.Collections;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Web;


using System.Web.SessionState;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.HtmlControls;


using System.Data.OleDb;


using System.Configuration;




namespace DelhiApp.Testing




...{




/**//// <summary>


/// Summary description for WebForm1.


/// </summary>


public class WebForm1 : System.Web.UI.Page




...{


protected System.Web.UI.WebControls.Button Button2;


protected System.Web.UI.WebControls.DataGrid DataGrid2;


protected System.Web.UI.WebControls.Panel Panel3;




private void Page_Load(object sender, System.EventArgs e)




...{


if(!Page.IsPostBack)




...{


BindData(DataGrid2);


Button2.Attributes.Add("onclick","return confirm('Are you sure you wish to delete these records?');");


}


}




private void BindData(DataGrid DataGrid1)




...{




OleDbConnection con=new OleDbConnection(ConfigurationSettings.AppSettings["connectionString"]);


OleDbCommand cmd=new OleDbCommand();


cmd.CommandText="select * from emp";


cmd.Connection=con;


cmd.Connection.Open();


OleDbDataReader dr=cmd.ExecuteReader();


DataGrid1.DataSource=dr;


DataGrid1.DataBind();


cmd.Connection.Close();


}






Web Form Designer generated code#region Web Form Designer generated code


override protected void OnInit(EventArgs e)




...{


//


// CODEGEN: This call is required by the ASP.NET Web Form Designer.


//


InitializeComponent();


base.OnInit(e);


}






/**//// <summary>


/// Required method for Designer support - do not modify


/// the contents of this method with the code editor.


/// </summary>


private void InitializeComponent()




...{


this.Button2.Click += new System.EventHandler(this.Button2_Click);


this.DataGrid2.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Cancel_Grid);


this.DataGrid2.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Edit_Grid);


this.DataGrid2.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Update_Grid);


this.DataGrid2.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Delete_Grid);


this.Load += new System.EventHandler(this.Page_Load);




}


#endregion




private void Button2_Click(object sender, System.EventArgs e)




...{


foreach(DataGridItem objItem in DataGrid2.Items)




...{


if (objItem.ItemType != ListItemType.Header && objItem.ItemType != ListItemType.Footer && objItem.ItemType != ListItemType.Pager)




...{




if(((CheckBox)objItem.Cells[0].FindControl("cbSelected")).Checked == true)




...{


OleDbConnection con=new OleDbConnection(ConfigurationSettings.AppSettings["connectionString"]);


OleDbCommand cmd=new OleDbCommand();


cmd.CommandText="DELETE from emp where empId=@empId";


cmd.Parameters.Add("@empId",OleDbType.Numeric).Value=DataGrid2.DataKeys[objItem.ItemIndex];


cmd.Connection=con;


cmd.Connection.Open();


cmd.ExecuteNonQuery();


cmd.Connection.Close();




}


}


}


BindData(DataGrid2);


}




private void Delete_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)




...{


OleDbConnection con=new OleDbConnection(ConfigurationSettings.AppSettings["connectionString"]);


OleDbCommand cmd=new OleDbCommand();


cmd.CommandText="DELETE from emp where empId=@empId";






cmd.Parameters.Add("@empId",OleDbType.Numeric).Value=DataGrid2.DataKeys[e.Item.ItemIndex];




cmd.Connection=con;


cmd.Connection.Open();


cmd.ExecuteNonQuery();


cmd.Connection.Close();




DataGrid2.EditItemIndex=-1;


BindData(DataGrid2);


}




private void Edit_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)




...{


DataGrid2.EditItemIndex = e.Item.ItemIndex;




// Always bind the data so the datagrid can be displayed.


BindData(DataGrid2);


}




private void Update_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)




...{


OleDbConnection con=new OleDbConnection(ConfigurationSettings.AppSettings["connectionString"]);


OleDbCommand cmd=new OleDbCommand();


cmd.CommandText="UPDATE emp SET empName=@empName, salary=@salary, joiningDate=@joiningDate where empId=@empId";




cmd.Parameters.Add("@empName",OleDbType.Char).Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;


cmd.Parameters.Add("@salary",OleDbType.Numeric).Value=((TextBox)e.Item.Cells[2].Controls[0]).Text;


cmd.Parameters.Add("@joiningDate",OleDbType.Date).Value=((TextBox)e.Item.Cells[3].Controls[0]).Text;


cmd.Parameters.Add("@empId",OleDbType.Numeric).Value=DataGrid2.DataKeys[e.Item.ItemIndex];




cmd.Connection=con;


cmd.Connection.Open();


cmd.ExecuteNonQuery();


cmd.Connection.Close();




DataGrid2.EditItemIndex=-1;


BindData(DataGrid2);


}




private void Cancel_Grid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)




...{


DataGrid2.EditItemIndex = -1;


BindData(DataGrid2);


}


}


}

源程序下载:Download MultipleDeletionDatagrid.zip - 22.7 KB
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐