复选框全选、批量删除
2015-08-13 20:38
435 查看
// 脚本全选
<head runat="server"> <title></title> <script type="text/javascript"> function selectAll(chk) { var checkboxs = document.getElementsByTagName("input"); for (var i = 0; i < checkboxs.length; i++) { if(checkboxs[i].type == "checkbox"){ checkboxs[i].checked = chk.checked; } } } </script> </head>
<HeaderTemplate> <asp:CheckBox ID="cboSelectAll" Text="全选" runat="server" AutoPostBack="True" oncheckedchanged="cboSelectAll_CheckedChanged" />| <input type="checkbox" id="htmlCboSelectAll" onclick="selectAll(this)" />JS全选 <br /> <asp:LinkButton ID="lbDeleteSelected" runat="server" onclick="lbDeleteSelected_Click" OnClientClick="return confirm('确定要批量删除吗?')">批量删除</asp:LinkButton> </HeaderTemplate>
//批量删除 protected void lbDeleteSelected_Click(object sender, EventArgs e) { bool hasDeleteRow = false;//是否有选中要删除的项 StringBuilder bookIDs = new StringBuilder("delete from BookInfo where bookid in("); //遍历GridView中的行,获取被选中行的主键值 foreach (GridViewRow row in this.gvBookInfos.Rows) { if (((CheckBox)row.FindControl("cboSelect")).Checked) { hasDeleteRow = true; int bookID = Convert.ToInt32(this.gvBookInfos.DataKeys[row.RowIndex].Value); bookIDs.Append(bookID+","); } } //没有选中行时,给出相应提示 if (!hasDeleteRow) { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('请选择要删除的选项!')", true); return; } string ids = bookIDs.ToString(); ids = ids.Substring(0,ids.Length-1)+")"; int result = DBUtil.ExecuteSql(ids); if (result > 0) { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('批量删除成功!')", true); GridViewBind(); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('批量删除失败!')", true); } }
// 复选框全选状态
protected void cboSelectAll_CheckedChanged(object sender, EventArgs e) { //先获取到全选复选框的状态 bool state = ((CheckBox)this.gvBookInfos.HeaderRow.FindControl("cboSelectAll")).Checked; //再设置每一个项中的复选框状态 foreach (GridViewRow row in this.gvBookInfos.Rows) { ((CheckBox)row.FindControl("cboSelect")).Checked = state; } }
相关文章推荐
- Mac OS 链接Android USB
- Java-封装生成JSON数据和XML数据类
- 算法题: 部分A+B (15)
- Android Opengl 初学(画一个逐渐扩大的圆圈)
- hdu-1312-Red and Black
- WinCE 开发问题:不支持 Open Generic 方法的 GetParameters。
- NYOJ-1006喷水设置(一)-贪心
- 使用common-fileUpload实现文件上传
- how to show provisionning profile information
- Block数组练习
- Android相关属性的介绍:android:exported
- NYOJ_62 笨小熊
- HDU 5387 Clock(计算时针与分针 时针与秒针 分针与秒针的夹角)
- java几种图片加载方法的理解
- 磨刀不费砍柴功——Android编程中的实用快捷键
- js 异步请求封装
- Java FTP简单工具类
- 决定
- 2015 多校联赛 ——HDU5384(AC自动机)
- 2015 多校联赛 ——HDU5384(AC自动机)