您的位置:首页 > 其它

在GridView中添加全选功能,并获取选中行id

2010-04-17 06:51 405 查看






后台代码:

/// <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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐