展会信息港展会大全

gridview实现服务器端和客户端全选的两种方法
来源:互联网   发布日期:2015-10-03 10:47:28   浏览:2237次  

导读:这篇文章主要介绍了gridview实现服务器端和客户端全选的两种方法,需要的朋友可以参考下代码如下:%@ Page Language=C AutoEventWireup=true%!DOCTYPE html PUBLIC - W3C DTD XHTML 1 0 Trans ...

这篇文章主要介绍了gridview实现服务器端和客户端全选的两种方法,需要的朋友可以参考下

代码如下:

<%@ 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 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

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港