GridView 实现服务器端和客户端全选的两种方法
2009-11-19 17:32
836 查看
原文出处http://blog.csdn.net/net_lover/archive/2006/10/25/1351234.aspx
<%
@ 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
>
<%
@ 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
>
相关文章推荐
- GridView 实现服务器端和客户端全选的两种方法
- asp.net2.0 GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- gridview实现服务器端和客户端全选的两种方法分享
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- gridview实现服务器端和客户端全选的两种方法分享
- 【转】GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- [导入]GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法