看了很多网友在网上问到这个问题,所以才 代码很简单,这里就不累述了。看代码如下:这个例子是在孟子E章
里的,在这里转了一下
原文地址:http://dotnet.aspx.cc/article/a8efc285-f0b1-4f8f-8e73-2b7d8724a47c/read.aspx
C#
<% @ Page Language = " C# " AutoEventWireup = " true " %>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN "
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< script runat = " server " >
// 计算数据,完全可以从数据看取得
ICollection CreateDataSource()
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add( new System.Data.DataColumn( " 序号 " , typeof (System.String)));
dt.Columns.Add( new System.Data.DataColumn( " 学生姓名 " , typeof (System.String)));
dt.Columns.Add( new System.Data.DataColumn( " 语文 " , typeof (System.Decimal)));
dt.Columns.Add( new System.Data.DataColumn( " 数学 " , typeof (System.Decimal)));
dt.Columns.Add( new System.Data.DataColumn( " 英语 " , typeof (System.Decimal)));
dt.Columns.Add( new System.Data.DataColumn( " 计算机 " , typeof (System.Decimal)));
for ( int i = 0 ; i < 8 ; i ++ )
{
System.Random rd = new System.Random(Environment.TickCount * i); ;
dr = dt.NewRow();
dr[ 0 ] = i.ToString();
dr[ 1 ] = "涛涛—— 【孟子E章】 " + i.ToString();
dr[ 2 ] = System.Math.Round(rd.NextDouble() * 100 , 2 );
dr[ 3 ] = System.Math.Round(rd.NextDouble() * 100 , 2 );
dr[ 4 ] = System.Math.Round(rd.NextDouble() * 100 , 2 );
dr[ 5 ] = System.Math.Round(rd.NextDouble() * 100 , 2 );
dt.Rows.Add(dr);
}
System.Data.DataView dv = new System.Data.DataView(dt);
return dv;
}
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
GridView2.DataSource = GridView1.DataSource = CreateDataSource();
GridView2.DataBind();
GridView1.DataBind();
}
}
protected void Button1_Click( object sender, EventArgs e)
{
Ret1.Text = "" ;
foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox ch = (CheckBox)gvr.FindControl( " ItemCheckBox " );
if (ch.Checked)
{
Ret1.Text += " <li>GridView1 您选择的是(键值): " + GridView1.DataKeys[gvr.DataItemIndex].Value.ToString();
}
}
}
protected void Button2_Click( object sender, EventArgs e)
{
Ret2.Text = "" ;
foreach (GridViewRow gvr in GridView2.Rows)
{
CheckBox ch = (CheckBox)gvr.FindControl( " ItemCheckBox " );
if (ch.Checked)
{
Ret2.Text += " <li>GridView2 您选择的是(键值): " + GridView2.DataKeys[gvr.DataItemIndex].Value.ToString();
}
}
}
protected void CheckAll( object sender, EventArgs e)
{
CheckBox cbx = (CheckBox)sender;
foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox ch = (CheckBox)gvr.FindControl( " ItemCheckBox " );
ch.Checked = cbx.Checked;
}
}
</ script >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head >
< title > GridView 实现服务器端和客户端全选的两种方法 </ title >
< script type = " text/javascript " >
// <![CDATA[
function CheckAll(oCheckbox)
{
var GridView2 = document.getElementById( " <%=GridView2.ClientID %> " );
for (i = 1 ;i < GridView2.rows.length; i ++ )
{
GridView2.rows[i].cells[ 0 ].getElementsByTagName( " INPUT " )[ 0 ]. checked = oCheckbox. checked ;
}
}
// ]]>
</ script >
</ head >
< body >
< form id = " Form1 " runat = " server " >
< table style = " width:800px;font-size:12px; " >
< tr valign = " top " >
< td >
< asp:GridView ID = " GridView1 " runat = " server " Font - Size = " 12px " BackColor = " #FFFFFF "
GridLines = " Both " CellPadding = " 4 " DataKeyNames = " 序号 " AutoGenerateColumns = " false " >
< HeaderStyle BackColor = " #EDEDED " Height = " 26px " />
< Columns >
< asp:TemplateField >
< HeaderTemplate >
< asp:CheckBox ID = " CheckBox1 " runat = " server " Text = " 全选 " AutoPostBack = " true " OnCheckedChanged = " CheckAll " />
</ HeaderTemplate >
< ItemTemplate >
< asp:CheckBox ID = " ItemCheckBox " runat = " server " />
</ ItemTemplate >
</ asp:TemplateField >
< asp:BoundField DataField = " 学生姓名 " HeaderText = " 学生姓名 " />
< asp:BoundField DataField = " 语文 " HeaderText = " 语文 " />
< asp:BoundField DataField = " 数学 " HeaderText = " 数学 " />
< asp:BoundField DataField = " 英语 " HeaderText = " 英语 " />
< asp:BoundField DataField = " 计算机 " HeaderText = " 计算机 " />
</ Columns >
</ asp:GridView >
< asp:Button ID = " Button1 " runat = " server " OnClick = " Button1_Click " Text = " 得到选择的行值 " />
</ td >
< td align = " right " >
< asp:GridView ID = " GridView2 " runat = " server " Font - Size = " 12px " BackColor = " #FFFFFF "
GridLines = " Both " CellPadding = " 4 " DataKeyNames = " 序号 " AutoGenerateColumns = " false " >
< HeaderStyle BackColor = " #EDEDED " Height = " 26px " />
< Columns >
< asp:TemplateField >
< HeaderTemplate >
< input id = " Checkbox2 " type = " checkbox " onclick = " CheckAll(this) " runat = " server " />< label > 全选 </ label >
</ HeaderTemplate >
< ItemTemplate >
< asp:CheckBox ID = " ItemCheckBox " runat = " server " />
</ ItemTemplate >
</ asp:TemplateField >
< asp:BoundField DataField = " 学生姓名 " HeaderText = " 学生姓名 " />
< asp:BoundField DataField = " 语文 " HeaderText = " 语文 " />
< asp:BoundField DataField = " 数学 " HeaderText = " 数学 " />
< asp:BoundField DataField = " 英语 " HeaderText = " 英语 " />
< asp:BoundField DataField = " 计算机 " HeaderText = " 计算机 " />
</ Columns >
</ asp:GridView >
< asp:Button ID = " Button2 " runat = " server " OnClick = " Button2_Click " Text = " 得到选择的行值 " />
</ td >
</ tr >
< tr valign = " top " >
< td >
< asp:Literal ID = " Ret1 " runat = " server " ></ asp:Literal >
</ td >
< td align = " right " >
< asp:Literal ID = " Ret2 " runat = " server " ></ asp:Literal >
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >