主要实现在DataGrid中绑定全选删除的CheckBox控件.和上传控件..以及取值关键代码
using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace WebService1
... {
public partial class DataGridTest : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
//if (Session["name"] == null)
//{
// Response.Redirect("登陆页面.aspx");
//}
if (!Page.IsPostBack)
...{
this.DataGridToBind();
}
}
public void DataGridToBind()
...{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
SqlDataAdapter sda = new SqlDataAdapter("select * from admin",con);
DataSet ds = new DataSet();
sda.Fill(ds, "admin");
this.DataGrid1.DataKeyField = "userid";
this.DataGrid1.DataSource = ds;
this.DataGrid1.DataBind();
}
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
...{
//编辑事件
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
this.DataGridToBind();
}
protected void DataGrid1_CancelCommand(object source, DataGridCommandEventArgs e)
...{
//取消事件
this.DataGrid1.EditItemIndex = -1;
this.DataGridToBind();
}
protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
...{
//更新事件
string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string name = ((TextBox)e.Item.Cells[3].Controls[0]).Text.Trim();
string pswd = ((TextBox)e.Item.Cells[4].Controls[0]).Text.Trim();
FileUpload fu = ((FileUpload)e.Item.Cells[1].FindControl("FileUpload1"));//获取FileUpload控件
Response.Write(fu.PostedFile.FileName);//打印出文件地址来
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("update admin set username='"+name+"',userpswd='"+pswd+"' where userid='"+id+"'",con);
cmd.ExecuteNonQuery();
this.DataGrid1.EditItemIndex = -1;
this.DataGridToBind();
}
protected void DataGrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
...{
//删除事件
string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("delete admin where userid='" + id + "'", con);
cmd.ExecuteNonQuery();
this.DataGrid1.EditItemIndex = -1;
this.DataGridToBind();
}
protected void c1_CheckedChanged(object sender, EventArgs e)
...{
//全选CheckBox
foreach (DataGridItem gr in DataGrid1.Items)
...{
CheckBox c1 = ((CheckBox)gr.FindControl("CheckBox1"));
if (c1.Checked==false)
...{
c1.Checked = true;
}
else
...{
c1.Checked = false;
}
}
}
protected void btndelete_Click(object sender, EventArgs e)
...{
//删除选中项
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
for (int i = 0; i <= DataGrid1.Items.Count - 1; i++)
...{
CheckBox c1 = (CheckBox)DataGrid1.Items[i].FindControl("CheckBox1");
if (c1.Checked == true)
...{
SqlCommand cmd = new SqlCommand("delete from admin where userid='" + this.DataGrid1.DataKeys[i] + "'", con);
cmd.ExecuteNonQuery();
}
}
this.DataGridToBind();
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace WebService1
... {
public partial class DataGridTest : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
//if (Session["name"] == null)
//{
// Response.Redirect("登陆页面.aspx");
//}
if (!Page.IsPostBack)
...{
this.DataGridToBind();
}
}
public void DataGridToBind()
...{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
SqlDataAdapter sda = new SqlDataAdapter("select * from admin",con);
DataSet ds = new DataSet();
sda.Fill(ds, "admin");
this.DataGrid1.DataKeyField = "userid";
this.DataGrid1.DataSource = ds;
this.DataGrid1.DataBind();
}
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e)
...{
//编辑事件
this.DataGrid1.EditItemIndex = e.Item.ItemIndex;
this.DataGridToBind();
}
protected void DataGrid1_CancelCommand(object source, DataGridCommandEventArgs e)
...{
//取消事件
this.DataGrid1.EditItemIndex = -1;
this.DataGridToBind();
}
protected void DataGrid1_UpdateCommand(object source, DataGridCommandEventArgs e)
...{
//更新事件
string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string name = ((TextBox)e.Item.Cells[3].Controls[0]).Text.Trim();
string pswd = ((TextBox)e.Item.Cells[4].Controls[0]).Text.Trim();
FileUpload fu = ((FileUpload)e.Item.Cells[1].FindControl("FileUpload1"));//获取FileUpload控件
Response.Write(fu.PostedFile.FileName);//打印出文件地址来
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("update admin set username='"+name+"',userpswd='"+pswd+"' where userid='"+id+"'",con);
cmd.ExecuteNonQuery();
this.DataGrid1.EditItemIndex = -1;
this.DataGridToBind();
}
protected void DataGrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
...{
//删除事件
string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("delete admin where userid='" + id + "'", con);
cmd.ExecuteNonQuery();
this.DataGrid1.EditItemIndex = -1;
this.DataGridToBind();
}
protected void c1_CheckedChanged(object sender, EventArgs e)
...{
//全选CheckBox
foreach (DataGridItem gr in DataGrid1.Items)
...{
CheckBox c1 = ((CheckBox)gr.FindControl("CheckBox1"));
if (c1.Checked==false)
...{
c1.Checked = true;
}
else
...{
c1.Checked = false;
}
}
}
protected void btndelete_Click(object sender, EventArgs e)
...{
//删除选中项
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
for (int i = 0; i <= DataGrid1.Items.Count - 1; i++)
...{
CheckBox c1 = (CheckBox)DataGrid1.Items[i].FindControl("CheckBox1");
if (c1.Checked == true)
...{
SqlCommand cmd = new SqlCommand("delete from admin where userid='" + this.DataGrid1.DataKeys[i] + "'", con);
cmd.ExecuteNonQuery();
}
}
this.DataGridToBind();
}
}
}
下面是前台代码
<%
...
@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataGridTest.aspx.cs" Inherits="WebService1.DataGridTest"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:DataGrid ID ="DataGrid1" runat ="server" AutoGenerateColumns ="False" Style ="left: 19px;
position: relative; top: 22px" Width ="645px" OnCancelCommand ="DataGrid1_CancelCommand" OnDeleteCommand ="DataGrid1_DeleteCommand" OnEditCommand ="DataGrid1_EditCommand" OnUpdateCommand ="DataGrid1_UpdateCommand" >
< Columns >
< asp:TemplateColumn >
< HeaderTemplate >
< asp:CheckBox ID ="c1" runat ="server" Style ="position: relative" Text ="全选" AutoPostBack ="True" OnCheckedChanged ="c1_CheckedChanged" />
</ HeaderTemplate >
< ItemTemplate >
< asp:CheckBox ID ="CheckBox1" runat ="server" Style ="position: relative" />
</ ItemTemplate >
</ asp:TemplateColumn >
< asp:TemplateColumn HeaderText ="上传文件" >
< ItemTemplate >
< asp:FileUpload ID ="FileUpload1" runat ="server" Style ="position: relative" />
</ ItemTemplate >
</ asp:TemplateColumn >
< asp:BoundColumn DataField ="userid" HeaderText ="编号" ReadOnly ="True" ></ asp:BoundColumn >
< asp:BoundColumn DataField ="userName" HeaderText ="用户名" ></ asp:BoundColumn >
< asp:BoundColumn DataField ="userpswd" HeaderText ="密码" ></ asp:BoundColumn >
< asp:EditCommandColumn CancelText ="取消" EditText ="编辑" HeaderText ="编辑" UpdateText ="更新" >
</ asp:EditCommandColumn >
< asp:ButtonColumn CommandName ="Delete" HeaderText ="删除" Text ="删除" ></ asp:ButtonColumn >
</ Columns >
</ asp:DataGrid > < asp:Button ID ="btndelete" runat ="server" Height ="29px" Style ="left: 11px;
position: relative; top: 31px" Text ="删除" Width ="98px" OnClick ="btndelete_Click" /></ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:DataGrid ID ="DataGrid1" runat ="server" AutoGenerateColumns ="False" Style ="left: 19px;
position: relative; top: 22px" Width ="645px" OnCancelCommand ="DataGrid1_CancelCommand" OnDeleteCommand ="DataGrid1_DeleteCommand" OnEditCommand ="DataGrid1_EditCommand" OnUpdateCommand ="DataGrid1_UpdateCommand" >
< Columns >
< asp:TemplateColumn >
< HeaderTemplate >
< asp:CheckBox ID ="c1" runat ="server" Style ="position: relative" Text ="全选" AutoPostBack ="True" OnCheckedChanged ="c1_CheckedChanged" />
</ HeaderTemplate >
< ItemTemplate >
< asp:CheckBox ID ="CheckBox1" runat ="server" Style ="position: relative" />
</ ItemTemplate >
</ asp:TemplateColumn >
< asp:TemplateColumn HeaderText ="上传文件" >
< ItemTemplate >
< asp:FileUpload ID ="FileUpload1" runat ="server" Style ="position: relative" />
</ ItemTemplate >
</ asp:TemplateColumn >
< asp:BoundColumn DataField ="userid" HeaderText ="编号" ReadOnly ="True" ></ asp:BoundColumn >
< asp:BoundColumn DataField ="userName" HeaderText ="用户名" ></ asp:BoundColumn >
< asp:BoundColumn DataField ="userpswd" HeaderText ="密码" ></ asp:BoundColumn >
< asp:EditCommandColumn CancelText ="取消" EditText ="编辑" HeaderText ="编辑" UpdateText ="更新" >
</ asp:EditCommandColumn >
< asp:ButtonColumn CommandName ="Delete" HeaderText ="删除" Text ="删除" ></ asp:ButtonColumn >
</ Columns >
</ asp:DataGrid > < asp:Button ID ="btndelete" runat ="server" Height ="29px" Style ="left: 11px;
position: relative; top: 31px" Text ="删除" Width ="98px" OnClick ="btndelete_Click" /></ div >
</ form >
</ body >
</ html >