gridview实现服务器端和客户端全选的两种方法分享
gridview实现服务器端和客户端全选的两种方法分享
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下://计算数据,完全可以从数据看取得ICollectionCreateDataSource(){System.Data.Da...

复制代码 代码如下:

<%@ 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] ="【孟子】"+ 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>

<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" 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" 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" 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>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类