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开始) 这两个 ...
随机推荐
- 深入剖析tomcat的类加载机制
1JVM类加载机制 JVM的ClassLoader通过Parent属性定义父子关系,可以形成树状结构.其中引导类.扩展类.系统类三个加载器是JVM内置的. 它们的作用分别是: 1)引导类加载器:使用n ...
- oracle中查看sql语句的执行计划
1.在pl/sql中打开cmd命令容器 2.在cmd命令窗口中输入:explain plan for select * from t; 3.查看sql语句的执行计划:select * from tab ...
- Yarn源码分析之参数mapreduce.job.reduce.slowstart.completedmaps介绍
mapreduce.job.reduce.slowstart.completedmaps是MapReduce编程模型中的一个参数,这个参数的含义是,当Map Task完成的比例达到该值后才会为Redu ...
- atom安装插件
1. 由于墙的原因,在界面中安装不了 先安装 npm 可以下载node.js桌面版命令行 2.打开命令行中进入atom的安装目录,进入到packages 中 3. 进入github 官网 输入你要下载 ...
- er图 画图工具
http://www.oschina.net/project/tag/83/db-model
- Easyui 基于kindeditor的扩展
源码 /** * Author : ____′↘夏悸 * Easyui KindEditor的简单扩展. * 有了这个之后,你就可以像使用Easyui组件的方式使用KindEditor了 * 前提是你 ...
- 集合映射中的映射列表(使用xml文件)
如果持久化类具有List对象,我们可以通过映射文件中的类的<list>元素或注释来映射List. 在这里,我们正在使用论坛的场景,其中一个问题有多个答案. 在这里,我们使用论坛的场景,其中 ...
- Starting Tomcat v7.0 Server at localhost' has encountered a problem. 如何解决
刚刚学习JavaWeb,遇到了一个问题 因为是初学,我在工程中编写了一个JSP,想要在浏览器中打开,然后出现了这个问题: 在途中大家可以看到,我点击运行写好的JSP,却出现错误,真正的原因是因为Jav ...
- JavaScript入门:004—JS凝视的写法和基本运算符
JS的凝视JS中加凝视和寻常写C#代码是几乎相同的.有//和/* */这两种.单行凝视使用双斜杠比如. <script type="text/javascript"> ...
- Map的两张遍历方法 keySet(),entrySet()
源博客 http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对 ...