asp.net gridview实现全选,反选与删除记录的操作代码

 更新时间:2011年07月25日 22:18:08   作者:  
asp.net gridview实现全选,反选与删除记录的操作代码,需要的朋友可以参考下。
gridview全选操作
复制代码 代码如下:

'columns'=>array(
array(
'class'=>'CCheckBoxColumn',
//'header'=>'全选',
//'value'=>'$data->id',
//'checked'=>'true',
'htmlOptions'=>array(
'width'=>'30',
'style'=>'text-align:center',
),
),

复制代码 代码如下:

<div id="btn" style="width:100%; text-align:right; padding-top:20px"><?php echo CHtml::ajaxLink('批量更新', array('link/dels'), array(
'type'=>'POST',
'timeout'=>'30000',
'data'=>'js:{ids:jQuery("input[name=\'link-grid_c0\[\]\']:checked").map(function(){ return $(this).val(); }).get()}',
'beforeSend'=>'function(){ $("#btn").hide(); $("#load").show(); }',
'success'=>'function(html){ alert(html); }',
'complete'=>'function(){ $("#btn").show(); $("#load").hide(); }',
'error'=>'function(a,b,c){ if(b=="timeout") { alert("本次执行过程超过30秒,请分批更新!"); }}',
));?></div>
<div id="load" style="display: none; text-align:right; width:100%; padding-top:20px">正在更新,请稍后......</div>
<script>
var ids=jQuery("input[name='link-grid_c0[]']:checked").map(function(){ return $(this).val(); });
//alert(ids.length);
</script>

asp.net gridview实现全选,反选与删除记录
.aspx中
复制代码 代码如下:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames ="MailID">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack ="true" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FormAddress" HeaderText="FormAddress" SortExpression="FormAddress" />
<asp:BoundField DataField="ToAddress" HeaderText="ToAddress" SortExpression="ToAddress" />
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
<asp:BoundField DataField="Contents" HeaderText="Contents" SortExpression="Contents" />
<asp:BoundField DataField="Times" HeaderText="Times" SortExpression="Times" />
<asp:CheckBoxField DataField="ReadFlag" HeaderText="ReadFlag" SortExpression="ReadFlag" />
<asp:CheckBoxField DataField="UpFlag" HeaderText="UpFlag" SortExpression="UpFlag" />
</Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="全选" OnClick="Button1_Click" />&nbsp;
<asp:Button ID="Button3" runat="server" Text="返选" OnClick="Button3_Click" />
<asp:Button ID="Button2" runat="server" Text="删除选中的项" OnClick="Button2_Click" />

.cs
复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetDataBinder();
}
Button2.Attributes.Add("onclick","return confirm('你确定要删除所选择的记录么?')");
}
protected void SetDataBinder()
{
string sql = "Select * from SendMail";
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StudyConnectionString"].ToString());
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql ,conn );
DataSet ds = new DataSet();
da.Fill(ds,"table");
GridView1 .DataSource =ds.Tables ["table"];
GridView1.DataBind();
conn.Close();
}
/// <summary>
/// 全选记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
CheckBox cb;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");
cb.Checked = true;
}
}
/// <summary>
/// 执行删除操作,删除所选择的项
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button2_Click(object sender, EventArgs e)
{
string sql="(";
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cb.Checked == true)
{
sql = sql + Convert.ToInt32(GridView1.DataKeys[i].Value) + ",";
}
}
//去掉最后的逗号,并且加上右手号
sql = sql.Substring(0,sql.Length -1)+")";
sql = "delete SendMail where MailID in"+sql;
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StudyConnectionString"].ToString());
conn.Open();
try
{
//执行删除语句
SqlCommand cmd = new SqlCommand(sql, conn);
int delcount = Convert.ToInt32(cmd.ExecuteNonQuery());
Response.Write("<script>alert('共删除" + delcount + "条数据');</script>");
SetDataBinder();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
}
/// <summary>
/// 反选操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button3_Click(object sender, EventArgs e)
{
CheckBox cb;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");
if (cb.Checked)
{
cb.Checked = false ;
}
else
{
cb.Checked = true ;
}
}
}

相关文章

  • ASP.NET中Cookie的用法实例分析

    ASP.NET中Cookie的用法实例分析

    这篇文章主要介绍了ASP.NET中Cookie的用法,实例分析了在asp.net中针对cookie的设置、添加及读取等常用操作技巧,非常简单实用,需要的朋友可以参考下
    2015-08-08
  • .NET Core分布式链路追踪框架的基本实现原理

    .NET Core分布式链路追踪框架的基本实现原理

    这篇文章介绍了.NET Core分布式链路追踪框架的基本实现原理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 全面剖析.Net环境下的缓存技术

    全面剖析.Net环境下的缓存技术

    这篇文章主要全面剖析.Net环境下的缓存技术,介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 将Access数据库中数据导入到SQL Server中的详细方法实例

    将Access数据库中数据导入到SQL Server中的详细方法实例

    将Access数据库中数据导入到SQL Server中的详细方法实例,需要的朋友可以参考一下
    2013-03-03
  • ASP.NET Core扩展库ServiceStack.Redis用法介绍

    ASP.NET Core扩展库ServiceStack.Redis用法介绍

    这篇文章介绍了ASP.NET Core扩展库ServiceStack.Redis的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#中OpenFileDialog和PictrueBox的用法分析

    C#中OpenFileDialog和PictrueBox的用法分析

    这篇文章主要介绍了C#中OpenFileDialog和PictrueBox的用法,以实例的形式较为详细的分析了OpenFileDialog和PictrueBox使用时的注意事项与具体用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • asp.net 权限管理分析

    asp.net 权限管理分析

    权限管理在大中型网站中应用十分广泛,我最近也由于考虑到后期项目中可能需要加入权限管理部分,开始着手对权限管理进行研究。以下言论很多都总结自网络。
    2009-05-05
  • asp.net core 集成swagger ui的原理解析

    asp.net core 集成swagger ui的原理解析

    本文主要讲解了如何对API进行分组,这里仅仅是举了一个按照API功能进行分组的例子,其实在实际开发中,要按照何种方式分组,可以按照需求灵活定义,比如按照API版本进行分组
    2021-10-10
  • asp.net(c#)做一个网页数据采集工具

    asp.net(c#)做一个网页数据采集工具

    最近做一个网站,该网站需要添加4000多 产品信息,如果用人工方法去别的网站copy那至少要花费半月时间才能完成,所以我个办法使用c#作出来了一个网页数据采集软件.
    2009-12-12
  • 使用Entity Framework(4.3.1版本)遇到的问题整理

    使用Entity Framework(4.3.1版本)遇到的问题整理

    在这里记录一下之前使用Entity Framework(4.3.1版本)遇到的问题:更新没有设置主键的表、更改Code-First的默认连接、检测字符串截断错误,需要的朋友可以参考下
    2012-12-12

最新评论