asp gridview批量删除和全选
本人新手刚学asp.net 全选和删除也是引用了他人的代码试了一试可以实现,感觉很好,就发了上来。
前台代码
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False"
CellPadding="3" Font-Size="9pt" BackColor="White" BorderColor="#CCCCCC"
BorderStyle="None" BorderWidth="1px" Width="675px"
onrowdatabound="GridView1_RowDataBound" DataKeyNames="项目id"
>
<FooterStyle BackColor="White" ForeColor="#000066" />
<Columns>
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="项目名称" HeaderText="项目名称" />
<asp:BoundField DataField="项目状态" HeaderText="项目状态" />
<asp:TemplateField HeaderText="详细">
<ItemTemplate>
<a href="Detailed.aspx?id='<%#Eval ("项目id") %>'">
<asp:Label ID="lbl详细" runat="server" Text="详细"></asp:Label></a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="编辑">
<ItemTemplate>
<a href="EditProject.aspx?id='<%#Eval ("项目id") %>'">
<asp:Label ID="lbl编辑" runat="server" Text="编辑"></asp:Label></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
public void bind()
{
SqlConnection con = new SqlConnection("server=.;database=投票调查数据库;uid=sa;pwd=401");
string sql = "select * from 项目表";
SqlCommand com = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
//全选
protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (CheckBox2.Checked == true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
}
}
//全选取消
protected void Button1_Click(object sender, EventArgs e)
{
CheckBox2.Checked = false;
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
cbox.Checked = false;
}
}
//删除
protected void Button2_Click(object sender, EventArgs e)
{
string sql = "delete from 项目表 where";
string cal = " ";
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");
if (cbox.Checked == true)
{
cal += " 项目id=" + GridView1.DataKeys[i].Value.ToString() + " or";
}
}
if (cal != "")
{
sql += cal.Substring(0, cal.Length - 3);
}
else
{ sql = ""; }
//Response.Write(sql);//这里可以自己定义程序,进行删除任务
SqlConnection con = new SqlConnection("server=.;database=投票调查数据库;uid=sa;pwd=401");
con.Open();
SqlCommand com = new SqlCommand(sql, con);
com.ExecuteNonQuery();
bind();
}
//查询
protected void Button1_Click1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=.;database=投票调查数据库;uid=sa;pwd=401");
string name = this.TextBox1.Text;
string sql = "select * from 项目表 where 项目id='" + TextBox1.Text + "'";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");//当鼠标移开时还原背景色
e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)");//点击行变色
e.Row.Attributes["style"] = "Cursor:hand"; //设置悬浮鼠标指针形状为"小手"
}
}
protected void Button4_Click(object sender, EventArgs e)
{
Response.Redirect("add.aspx");
}
}