页面上2个控件,一个GridView,一个CheckBox.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="temp.aspx.cs" Inherits="Query_temp" %>
<!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 runat="server">
<title>无标题页</title>
<script type="text/javascript">
//<![CDATA[
function CheckAll(oCheckbox)
{
var GridView2 = document.getElementById("<%=GridView1.ClientID %>");
if( GridView2.rows.length < <%=GridView1.PageSize %>)
{
total = GridView2.rows.length;
}
else
{
total = GridView2.rows.length-1;
}
for(i = 1;i < total; i++)
{
GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked;
}
}
//]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True">
<Columns>
<asp:TemplateField HeaderText="选中">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="镇名称" HeaderText="镇名称" />
<asp:BoundField DataField="镇代码" HeaderText="镇代码" />
</Columns>
</asp:GridView>
<asp:CheckBox ID="CheckBox2" runat="server" Text="全选" onclick="CheckAll(this)" />
</form>
</body>
</html>
注意红色部分GridviewID的对应,绿色是用JS脚本调用,蓝色部分,如果没有分页,代码应该是:
GridView2.rows.length
即可。后台绑定数据就不用说了。
反选实现:
GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = (!GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked);
函数浓缩版:
function CheckAll(oCheckbox,id) //全选函数 oCheckbo一般为this id为GridView控件ID名
{
var GridView2 = document.getElementById(id);
for(i = 0;i < GridView2.rows.length; i++)
{
obj= GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0];
if(obj!=null)
{
obj.checked = oCheckbox.checked;
}
}
}
function Check(oCheckbox,id) //反选函数 oCheckbox一般为this id为GridView控件ID名
{
var GridView2 = document.getElementById(id);
for(i = 0;i < GridView2.rows.length; i++)
{
obj= GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0];
if(obj!=null)
{
obj.checked = (!GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked);
}
}
}
function checkSel(t,id) //额外赠送对选择要操作的记录确认提示 t为操作字符 id为GridView控件ID名
{
var checked =-1;
var GridView2 = document.getElementById(id);
for(i = 0;i < GridView2.rows.length; i++)
{
obj= GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0];
if(obj !=null)
{
if(obj.checked )
{
checked =i;
}
}
}
if(checked > -1)
{
var msg = '确定要'+t+'吗?';
if (confirm(msg)==true)
{
return true;
}
else
{
return false;
}
}
else
{
alert('请先选择要'+t+'的记录!');
return false;
}
}
使用范例:
<table border="0" cellpadding="0" cellspacing="0" style="width: 409px">
<tr>
<td align="left" colspan="2">
<asp:CheckBox ID="CheckBox3" runat="server" onclick="CheckAll(this,'GV_partner')" Text="全部选中" />
<input class="ButtomBG50" onclick="Check(this,'GV_partner')" type="button" value="反选" />
<asp:Button ID="btn_lock" runat="server" CssClass="ButtomBG50" OnClick="lock_user"
OnClientClick="return checkSel('锁定','GV_partner')" Text="锁定" /> <asp:Button ID="btn_unlock"
runat="server" CssClass="ButtomBG50" OnClick="lock_user" OnClientClick="return checkSel('解锁','GV_partner');"
Text="解锁" /> <asp:Button ID="btn_edit" runat="server" CssClass="ButtomBG50" OnClick="btn_edit_Click"
OnClientClick="return checkSel('修改','GV_partner');" Text="修改" /> <asp:Button ID="btn_del"
runat="server" CssClass="ButtomBG50" OnClick="btn_del_Click" OnClientClick="return checkSel('删除','GV_partner');"
Text="删除" /></td>
</tr>
</table>
No Data Now...
| ©2003-2008 Woody. Some Rights Reserved. Feed - Sitemap - Valid XHTML - Valid CSS - Creative Commons Powered by ABlog v3.2. Skin Reserved by Default | Processed in 0.015625 Seconds. 4 Queries | 浙ICP备07029590号 |