GridView中CheckBox的用法
以下是我在GridView中控制CheckBox的全选/取消全选,根据子CheckBox处理全选CheckBox状态的操作并获取所选GridView中所选行的列的值。
 脚本代码:
    <script language="javascript" type="text/javascript">
     //全选/全取消GridView中的CheckBox
     //参数gv:  GridView的ID
     //参数input2: 功能控件ID(全选CheckBox)
    function CheckAll(gv,input2)
     {
         var objForm = document.getElementById(gv);
         var objLen = objForm.rows.length;
         for (var iCount = 0; iCount < objLen; iCount++)
         {
              objForm.rows[iCount].cells[0].getElementsByTagName("INPUT")[0].checked = input2.checked;
         }
     }
         
     function CheckSelect(gv,input2)
     {
         if (input2.checked == true)
         {
             if(GetCheckBoxCount(gv) == GetCheckedBoxCount(gv))
             {
                 form1.Checkbox3.checked = true;
             }
         }
         else
         {
             form1.Checkbox3.checked = false;
         }
     }
     
     function GetCheckBoxCount(gv)
     {
         var objForm = document.getElementById(gv);
         var objLen = objForm.rows.length;
         return (objLen-1);
     }
     
     function GetCheckedBoxCount(gv)
     {
         var count;
         count = 0;
         var objForm = document.getElementById(gv);
         var objLen = objForm.rows.length;
         for(var iCount = 0; iCount < objLen; iCount++)
         {
              if(objForm.rows[iCount].cells[0].getElementsByTagName("INPUT")[0].checked == true)
              {
                  count ++;
              }
         }
         return count;
     }    
     </script>
页面代码:
<body>
     <form id="form1" runat="server">
     <div>
         <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
             DataSourceID="LinqDataSource1" DataKeyNames="CarID">
             <Columns>
                 <asp:TemplateField>
                     <ItemTemplate>
                         <asp:CheckBox ID="CheckBox2" runat="server" Width="20px" onclick="CheckSelect('GridView1',this)"/>
                     </ItemTemplate>
                     <HeaderTemplate>
                         <input ID="Checkbox3" type="checkbox" style="width:20px" onclick="CheckAll('GridView1',this)"/>
                     </HeaderTemplate>
                     <ItemStyle Width="20px" />
                 </asp:TemplateField>
                 <asp:BoundField DataField="CarID" HeaderText="CarID" ReadOnly="True" 
                     SortExpression="CarID" />
             </Columns>
         </asp:GridView>
        <br />
         <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
         <br />
         <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
             ContextTypeName="DBML.CarDataContext" Select="new (CarID, TeamID, DriverID)" 
             TableName="CarInfo">
         </asp:LinqDataSource>    
     </div>
     </form>
< /body>
 cs文件代码:
 protected void Button1_Click(object sender, EventArgs e)
         {
             int count = 0;
             string items = "";
             foreach (GridViewRow item in GridView1.Rows)
             {
                 CheckBox cb = (CheckBox)item.FindControl("CheckBox2");
                 if (cb.Checked)
                 {
                     items = items + item.Cells[1].Text;//已选行的第2列的值
                    count++;
                 }
             }
             Response.Write(count.ToString() + items);
         }
以上代码可能通用性还有待增强,也希望对大家有所帮助。谢谢!
GridView中CheckBox的用法的更多相关文章
- asp.net,根据gridview 中checkbox复选框选中的行对数据库进行操作
		在asp.net中,使用checkbox,对gridview添加复选框. 多选数据行后,根据已选数据,对原数据进行多条语句查询. string sql = "Select * from 表 ... 
- GridView中CheckBox单击事件(oncheckedchanged)
		在GridView中加入 CheckBox控件,想通过单击选中出现如下图所示效果: 具体做法是: 前台GV部份省掉.只加关键的CheckBox部份. view plaincopy to clipboa ... 
- GridView中CheckBox翻页记住选项
		<asp:GridView ID="gvYwAssign" runat="server" AutoGenerateColumns="False& ... 
- js gridview中checkbox的全选与全不选
		1.html: <asp:GridView runat="server" ID="gvAddBySR" AutoGenerateColumns=" ... 
- 模板列传值到子窗体中,子窗体中多选gridview中checkbox保存数据多项到数据库中
		<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ... 
- 实现CheckBox的三种选中状态(全选、半选、不选)在GridView中模拟树形的功能
		度娘了很多帖子,只说三种状态要用图片替换来做,但没找到有用的例子,被逼自己写了一个 三方控件肯定是很多的,如jstree,可以直接用 由于公司的UDS限制,不能上传图片,只能文字说明了. 就是要在gr ... 
- asp.net中gridview的checkbox使用总结
		1.在gridview中的<column>中加入 <asp:TemplateField HeaderText="选择"> <ItemTemplate& ... 
- GridView中实现CheckBox的全选
		GridView中实现CheckBox的全选 用服务器端的方法: 在页面上放一个gridview控件,配置好数据源,编辑列, <asp:GridView ID="GridView1&q ... 
- 使用js获取checkbox控件在GridView中的第几行
		这次的知识点是如何使用js获取checkbox控件所在的是第几行!!! 我们可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始) 这两个 ... 
随机推荐
- Spring 注解 @Scheduled(cron = "0 0/10 * * * ? ") 任务调度动态改变时间
			不需要重启应用就可以动态的改变Cron表达式的值 import java.util.Date; import java.util.concurrent.Executor; import java.ut ... 
- C++在线编译器
			主要有3个,且它们都支持C++11 http://gcc.godbolt.org/ http://coliru.stacked-crooked.com/ http://ideone.com/ 第一个网 ... 
- 2. Add Two Numbers【medium】
			2. Add Two Numbers[medium] You are given two non-empty linked lists representing two non-negative in ... 
- Qt5 CMake cross compile
			cmake_minimum_required(VERSION 2.8) if (${ARM}) set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCES ... 
- spring+redis+nginx 实现分布式session共享
			1,spring 必须是4.3以上版本的 2,maven配置 添加两个重要的依赖 <dependency> <groupId>org.springframework.sessi ... 
- ini_set ini_get  可操作配置参数列表
			为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数. 比如我们常用到的: 获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(add ... 
- OpenCV中Camshitf算法学习
			今天上午,结合OpenCV自带的camshitf例程,简单的对camshitf有了一个大致的认识和理解,现总结如下: 1:关于HSV H指hue(色相).S指saturation(饱和度).V指val ... 
- 第一百六十五节,jQuery,过滤选择器
			jQuery,过滤选择器 学习要点: 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 过滤选择器简称:过滤器.它其实也是一种选择器,而这种选择器类似与 CSS3 (h ... 
- js 触摸事件 touch
			//ban 为某div let startX = 0; ban.addEventListener("touchstart",function(){ //获取初始点击位置 start ... 
- faceswap
			https://github.com/deepfakes/faceswap https://anonfile.com/p7w3m0d5be 
