ASP.NET给DataGrid,Repeater等添加全选批量删除等功能(转)

很多情况下,在管理或者查看列表的时候我们需要很需要“全选”这个功能,这在ASP.NET中是非常容易实现的,下面我就将演示一点小代码实现这一功能。
  实现全选的还是js的一个小函数:
   
function  CheckAll(e,itemname){
    var aa=document.getElementsByName(itemname);
    if(aa==undefined) return;
    for (var i=0; i<aa.length; i++)aa[i].checked = e.checked;
}

先看在asp:Repeater中的实现过程。

在HeaderTemplate中直接添加全选的一个CheckBox:  
<input name="chkall" value="1" type="checkbox" onclick="CheckAll(this,‘Item‘)"/>

在ItemTemplate中绑定的时候只需要给Input设置目前行的ID编号等即可: 
        <td align="center" ><input name="Item" type="checkbox" value=‘<%# Eval("deal_id")%>‘/></td>

然后我们创建一个“全部删除”的LinkButton,当点击的时候执行一个后台代码: 
<asp:LinkButton id="LB_Bak_Delete" text="批量删除" OnCommand="LinkButton_Command"  runat="server" CommandName="delete" visible="false"/>

所执行的函数名称是LinkButton_Command,给其设置参数CommandName的主要目的就是标记这个操作是删除功能(很多时候还需要生成啊,高亮啊等操作),看看LinkButton_Command的执行: 
protected void LinkButton_Command(Object sender, CommandEventArgs e){
    string ids=Request.Form["Item"];
    switch(e.CommandName){
        case "delete":
        BakDelete(ids);
        break;
    }
    Data_List_Load();//重新加载
    return ;

}
private void BakDelete(string ids){
    //ODeal是个类
    if(!String.IsNullOrEmpty(ids) && ODeal.Delete("[deal_id] in ("+ids+")")){
        OutMess("批量删除数据成功");
    }else{
        OutMess("批量删除失败");
    }
}

然后我们看看在 DataGrid  或者 DataView中的方法:

使用的js还是一样的,在前台显示的时候: 
    <asp:TemplateColumn HeaderText="<input name=‘chkall‘ value=‘1‘ type=‘checkbox‘ onclick=‘CheckAll(this,JS_Item_Text)‘/>" ItemStyle-Width="30px" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"  HeaderStyle-CssClass="head">
        <ItemTemplate><input name="Item" type="checkbox" value=‘<%# Eval("td_id")%>‘/></ItemTemplate>
    </asp:TemplateColumn>

这里需要注意的是CheckAll执行的方法中有个单引号,这里是不能加进去的,就先声明一个js的变量,然后在加载列表的时候写个js客户端注册:
 列表ClassGridDataBind的时候,加入:

string sScript = "var JS_Item_Text=‘Item‘;";
    ClientScriptManager Objcsm = Page.ClientScript;
    if (!Objcsm.IsStartupScriptRegistered("_JS_Item_Text")){
        Objcsm.RegisterStartupScript(this.GetType(), "_JS_Item_Text", sScript, true);
    }

然后其他的和Repeater的都是一样的。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xielingxu/archive/2008/07/28/2726089.aspx

分类: ASP.NET

时间: 2024-11-03 02:34:41

ASP.NET给DataGrid,Repeater等添加全选批量删除等功能(转)的相关文章

全选+批量删除

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="/back_page/head.jsp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www

checkbox复选框全选批量删除

多选框全选实现批量删除 html代码 <body> <form action="" method="post" name="FormName" onsubmit="return checkbox();"> <table > <tr ><td><input type="checkbox" name="checkboxes[]"

JS中表格的全选和删除要注意的问题

在项目开发中,由于刚刚开始做项目,我对js还不是很精通,所以在用js对表格的全选和删除中遇到了不少问题,后来通过查找资料解决了,之后总结了一下关于js表格的全选和删除出现的一些问题,希望能帮助到大家. 以下是我自己做的一个小例子,用来更简单明了的说明js全选和删除. 一.全选的说明:当选中全选的checkbox时,下面1-5都会选中,没有选中时1-5都不会选中,这个实现不难,步骤如下: 1.获取全选框的选中状态, 2.for循环设置所有的单选框的选中状态 主要代码: //1.获取全选按钮 var

全选,删除,添加

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input type="button" value="删除" onclick="b()" /> //删除按钮 <input type="b

datatable 添加全选功能

1 <table class='data-table table table-bordered table-striped table-hover' style='margin-bottom:0;'> 2 </table> <script> var rowCkArr=new Array(); var ckAll = 0; $(document).ready(function(){ var table = setDataTable($(".data-table&

IOS开发学习笔记029-反选、全选、删除按钮的实现

还是在上一个程序的基础上进行修改 1.反选按钮 2.全选按钮 3.删除按钮 4.其他代码优化 1.反选按钮 反选的过程就是将_deleteShops数组中得数据清空,然后将Shops中数组添加到_deleteShops数组 添加一个 UIBarButtonItem 按钮,绑定响应事件. 代码如下 1 // 反选 2 - (void)unSelected 3 { 4 // 1.记录shops数组的长度和_deleteShops的长度 5 NSInteger shopsCount = _shops.

Android反选,全选,删除

MainActivity.class @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findComp(); initData(); adapter = new Myadapter(this, list); lv.setAdapter(adapter); //全选 al

表格:全选,删除,跳出弹窗

5-22pm.php <!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> <meta http-equiv=&qu

php对表格进行批量操作如全选反选删除功能

<!DOCTYPE> <html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Select All</title> <style> table{ border:#999 1px solid; border-collapse:collapse;