asp.net下gridview 批量删除的实现方法
更新时间:2007年11月22日 23:26:39 作者:
完整的代码:
Default.aspx
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>gridview 批量删除</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="vote_id" HeaderText="编号" />
<asp:BoundField DataField="vote_name" HeaderText="名称" />
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox id="cbxId" runat="Server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="删除选中" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
Default.aspx.cs
复制代码 代码如下:
using System;
using System.Data;
using System.Configuration;
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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//判断回发是否要执行
if (!IsPostBack)
{
dataInit();
}
}
//返回一个连接对象
private SqlConnection getCon()
{
return new SqlConnection(ConfigurationManager.ConnectionStrings["voteConnectionString"].ToString());
}
//初始化数据
private void dataInit()
{
string sqlText = "select * from vote";
SqlConnection conn = getCon();
SqlDataAdapter da = new SqlDataAdapter(sqlText,conn);
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds, "vote");
GridView1.DataSource = ds;
GridView1.DataKeyNames = new string[]{"vote_id"};
GridView1.DataBind();
conn.Close();
conn.Dispose();
}
protected void Button1_Click(object sender, EventArgs e)
{
string sqlText = "(";
for (int i = 0; i < GridView1.Rows.Count; i++)
{
//搜索第n行3列
CheckBox cbx = (CheckBox)GridView1.Rows[i].FindControl("cbxId");
if (cbx.Checked == true)
{
sqlText = sqlText + Convert.ToInt32(GridView1.DataKeys[i].Value) + ",";
}
}
//去掉最后的逗号,并且加上右括号
sqlText = sqlText.Substring(0,sqlText.Length - 1) + ")";
sqlText = "delete vote where vote_id in" + sqlText;
try
{
//执行删除语句
SqlConnection conn = getCon();
conn.Open();
SqlCommand cmd = new SqlCommand(sqlText,conn);
int delCount = Convert.ToInt32(cmd.ExecuteNonQuery());
Response.Write("<script>alert('共删除" + delCount + "条数据');</script>");
dataInit();
}
catch(Exception ex)
{
//若有错误发生,输出错误信息
Response.Write(ex.Message);
}
}
}
相关文章
asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
今天偶尔用到这个控件,简单记录下~~~~2008-11-11.NET Core控制台应用程序如何使用异步(Async)Main方法详解
这篇文章主要给大家介绍了关于.NET Core控制台应用程序如何使用异步(Async)Main方法的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-07-07asp.net+Ligerui实现grid导出Excel和Word的方法
这篇文章主要介绍了asp.net+Ligerui实现grid导出Excel和Word的方法,实例分析了asp.net结合jQuery的Ligerui插件操作excel和word文件的技巧,需要的朋友可以参考下2016-04-04asp.net实现导出DataTable数据到Word或者Excel的方法
这篇文章主要介绍了asp.net实现导出DataTable数据到Word或者Excel的方法,涉及asp.net操作office文件的相关技巧,需要的朋友可以参考下2016-08-08asp.net javascript 文件无刷新上传实例代码
最近在写C# .net代码的时候,遇到一个上传刷新的问题。2009-06-06ASP.NET Core应用中与第三方IoC/DI框架的整合
ASP.NET Core应用中,针对第三方DI框架的整合可以通过在定义Startup类型的ConfigureServices方法返回一个ServiceProvider来实现。但是并不是那么容易的,下面通过实例给大家分享一下2017-04-04
最新评论