在GridView中添加全选功能,并获取选中行id
2010-04-17 06:51
405 查看
![](http://hi.csdn.net/attachment/201004/16/0_1271458998iW4D.gif)
![](http://hi.csdn.net/attachment/201004/16/0_12714590043u27.gif)
![](http://hi.csdn.net/attachment/201004/16/0_1271459013BdB1.gif)
后台代码:
/// <summary>
/// 获取选中行id
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string mgs="";
//循环遍历GridView行中的控件
for (int i = 0; i <this .GridView1 .Rows .Count ; i++)
{
CheckBox cb = (GridView1.Rows[i].FindControl("CheckBox2")) as CheckBox;
if (cb.Checked ==true )//判断是否选中
{
//把获取的id用逗号联结,然后赋给label
mgs += ((this.GridView1.Rows[i].FindControl("LblId")) as Label).Text+",";//找到模版中储存id的label
lblMgs.Text = mgs.Substring(0, mgs.Length - 1);
}
}
}
页面调用的Javascript代码:
<script language ="javascript" type ="text/javascript">
function GetAllCheckBox(c)
{
var iterms=document.getElementsByTagName("input") ;
for(i=0;i<iterms.length;i++)
{
if(iterms[i].type=="checkbox")
{
iterms[i].checked=c.checked;
}
}
}
</script>
在input标签的onclick事件中调用:
<asp:TemplateField HeaderText="全选">
<HeaderTemplate>
<input id="Checkbox1" type="checkbox" onclick ="GetAllCheckBox(this)" />全选
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox2" runat="server" />
</ItemTemplate>
<HeaderStyle Width="100px" />
</asp:TemplateField>
页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ControlBind.aspx.cs" Inherits="ControlBind" %> <!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> <mce:script language ="javascript" type ="text/javascript"><!-- function GetAllCheckBox(c) { var iterms=document.getElementsByTagName("input") ; for(i=0;i<iterms.length;i++) { if(iterms[i].type=="checkbox") { iterms[i].checked=c.checked; } } } // --></mce:script> </head> <body> <form id="form1" runat="server"> <div> <asp:ObjectDataSource ID="UserDataSource" runat="server" SelectMethod="GetAllUsers" TypeName="TestBLL.UserManager" DeleteMethod="DeleteUserById"> <DeleteParameters> <asp:Parameter Name="id" Type="Int32" /> </DeleteParameters> </asp:ObjectDataSource> </div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="UserDataSource" OnRowCommand="GridView1_RowCommand" AllowPaging="True" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="Id" PageSize="3"> <Columns> <asp:TemplateField HeaderText="全选"> <HeaderTemplate> <input id="Checkbox1" type="checkbox" onclick ="GetAllCheckBox(this)" />全选 </HeaderTemplate> <ItemTemplate> <asp:CheckBox ID="CheckBox2" runat="server" /> </ItemTemplate> <HeaderStyle Width="100px" /> </asp:TemplateField> <asp:TemplateField HeaderText="Id" SortExpression="Id" Visible="False"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Id") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="LblId" runat="server" Text='<%# Bind("Id") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="LoginId" HeaderText="LoginId" SortExpression="LoginId" /> <asp:BoundField DataField="LoginPwd" HeaderText="LoginPwd" SortExpression="LoginPwd" /> <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /> <asp:BoundField DataField="Sex" HeaderText="Sex" SortExpression="Sex" /> <asp:BoundField DataField="Birthday" HeaderText="Birthday" SortExpression="Birthday" /> <asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" /> <asp:TemplateField HeaderText="State" SortExpression="State"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("State.StateName") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="Details.aspx?id={0}" HeaderText="详情" Text="查看" /> <asp:TemplateField HeaderText="Delete"> <ItemTemplate> <asp:LinkButton ID="lbtnDelete" runat="server" CommandArgument='<%# Eval("id") %>' CommandName="del">删除</asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="White" ForeColor="#000066" /> <RowStyle ForeColor="#000066" /> <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" /> <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /> </asp:GridView> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> <asp:Label ID="lblMgs" runat="server" Text="Label"></asp:Label> </form> </body> </html>
相关文章推荐
- DeveXpress ASPxGridView获取要批量删除或者批量更改的Id(AspxGridView复选框的全选|反选功能)
- DeveXpress ASPxGridView获取要批量删除或者批量更改的Id(AspxGridView复选框的全选|反选功能)
- DeveXpress ASPxGridView获取要批量删除或者批量更改的Id(AspxGridView复选框的全选|反选功能
- gridview中用NewSelectedIndex获取选中的ID值
- [原创]扩展GridView实现多选(全选)、点击行任意位置选择行、选中变色、添加双击事件等
- jQuery实现的全选、反选和获取当前所有选中的值功能
- 扩展GridView实现多选(全选)、点击行任意位置选择行、选中变色、添加双击事件等
- GridView控件与CheckBox结合,实现全选功能,同时实现删除选中的多行数据 .
- gridview中用NewSelectedIndex获取选中的ID值
- GridView 添加checkBox 实现全选功能
- 功能:获取当前选中节点的子节点id集合。
- datagrid 和 gridview 与checkbox 获取所选中的id的方法
- 扩展GridView实现多选(全选)、点击行任意位置选择行、选中变色、添加双击事件等
- 扩展GridView实现多选(全选)、点击行任意位置选择行、选中变色、添加双击事件等
- C#.NET GridView 中如何获取脚中的控件ID并添加客户端事件
- ASPxGridView实现checkbox全选反选(自带的ShowSelectCheckBOx)并获取选中checkbox对应的值集合
- gridview 中的checkbox的全选和全取消的功能,批量添加sql语句--2008-11-5 项目开发心得
- 给gridview添加checkBox 并且做全选功能
- 获取GridView每列的id、姓名(实现删除功能)
- GridView控件与CheckBox结合,实现全选功能,同时实现删除选中的多行数据