服务器之家

服务器之家 > 正文

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

时间:2019-09-17 13:30     来源/作者:asp.net主机网

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" />  
<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 ; 


相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-07-24
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部