一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

gridview 全選及其選擇項(xiàng)ID的傳值

 絢爺好人圖書館 2014-08-20

      如圖:

                         全選checkbox          

Js全選checkbox

    遍歷所有checkbox

復(fù)制代碼
function SelectAllCheckboxes(spanChk) {
var oItem
= spanChk.children;
var theBox
= (spanChk.type =="checkbox") ? spanChk : spanChk.children.item[0];
xState
= theBox.checked;
elm
= theBox.form.elements;
for (i =0; i < elm.length; i++)
if (elm[i].type =="checkbox"&& elm[i].id != theBox.id) {
if (elm[i].checked!= xState)
elm[i].click();
}
}



<input id="chkAll" onclick="javascript:SelectAllCheckboxes(this);" runat="server"
type
="checkbox"/>
復(fù)制代碼

jquery全選

復(fù)制代碼
function sa() {

$(
"#aaa").click(function() {
$(
"#GridView1 :checkbox").each(function() { //遍歷所有GridView下面所有的checkbox
$(this).attr("checked", true)
});
});
}
<input ID="aaa" onclick="sa()" type="checkbox"/>
復(fù)制代碼

后臺(tái)全選

復(fù)制代碼
for (int i =0; i <this.GridView1.Rows.Count; i++)
{
CheckBox cb
=this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1") as CheckBox;
//設(shè)定checkbox的選中狀態(tài)
if (cb !=null)
{
cb.Checked
=true;
}
}
復(fù)制代碼

===================================================================================

                                                     獲取選中的id

方法一:隱藏label

首先應(yīng)該現(xiàn)在前臺(tái)gridview上建立一個(gè)模板,如建立在最前面,在模板上放一個(gè)label并將這個(gè)模板設(shè)置為隱藏

在這個(gè)label上綁定數(shù)據(jù)id

復(fù)制代碼
<asp:TemplateField Visible="false">

<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%#Eval("UserID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
復(fù)制代碼

后臺(tái)獲取label的值

復(fù)制代碼
string selectId ="";
for (int i =0; i <this.GridView1.Rows.Count; i++)
{
//找到gridview上的CheckBox控件
CheckBox ch =this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1") as CheckBox;
if (ch !=null)
{
if (ch.Checked)
{
//找到第i行第一個(gè)格子上的label控件,即是剛才綁定的label
Label lb =this.GridView1.Rows[i].Cells[0].FindControl("Label2") as Label;
//將label的值取出來用“,”號(hào)分開
selectId = selectId +","+ lb.Text;
}
}
}
if (selectId.Length >1)
{
selectId
= selectId.Substring(1);
}
Response.Write(selectId);
復(fù)制代碼

方法二:

直接將值綁定到gridview上的checkbox上

<input  type="checkbox" name="Chec1" value='<%#Eval("UserID")%>' />

必須為前臺(tái)控件,且必須設(shè)置name;因?yàn)檫@里設(shè)置的name即為后臺(tái)用request獲取的索引

string s = Request["Chec1"].ToString();

這句代碼就把所有選中checkbox的綁定id賦值到s上

如:選中一個(gè)  則s為一個(gè)id

  選中多個(gè),則s為多個(gè)id且以逗號(hào)分隔

哈哈,方法二簡(jiǎn)單吧!

==========================================================================================   

                  完整前后臺(tái)代碼(兩種方法共同存在)

前臺(tái):

復(fù)制代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication4._Default"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www./1999/xhtml">
<head runat="server">
<title></title>

<script src="jquery-1.5.2.min.js" type="text/javascript"></script>

<script type="text/javascript">
// function SelectAllCheckboxes(spanChk) {
// var oItem = spanChk.children;
// var theBox = (spanChk.type == "checkbox") ? spanChk : spanChk.children.item[0];
// xState = theBox.checked;
// elm = theBox.form.elements;
// for (i = 0; i < elm.length; i++)
// if (elm[i].type == "checkbox" && elm[i].id != theBox.id) {
// if (elm[i].checked != xState)
// elm[i].click();
// }
// }
function sa() {

$(
"#aaa").click(function() {

$(
"#GridView1 :checkbox").each(function() {
$(
this).attr("checked", true)
});
});
}

</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click1"
Text
="Button"/>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField Visible="false">

<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%#Eval("UserID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%-- javascript全選,以注釋掉,和上面注釋的javascript代碼共同應(yīng)用--%>
<%--<input id="chkAll" onclick="javascript:SelectAllCheckboxes(this);" runat="server"
type
="checkbox"/>--%>
<%-- jquery全選,和上面的jquery代碼呼應(yīng)--%>
<input ID="aaa" onclick="sa()" type="checkbox"/>
</HeaderTemplate>
<ItemTemplate>
<%--//后臺(tái)label方法遍歷id時(shí)遍歷的checkbox--%>
label遍歷: <asp:CheckBox ID="CheckBox1" runat="server"/>

<%--//request方法取值時(shí)調(diào)用的checkbox--%>
request方法: <input type="checkbox" name="Chec1" value='<%#Eval("UserID")%>'/>

</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UserID" HeaderText="UserID"/>
<asp:BoundField DataField="UserName" HeaderText="UserName"/>
<asp:BoundField DataField="Station" HeaderText="Station"/>
<asp:BoundField DataField="Status" HeaderText="Status"/>
</Columns>
</asp:GridView>

</div>
</form>
</body>
</html>
復(fù)制代碼

后臺(tái):

復(fù)制代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace WebApplication4
{
publicpartialclass _Default : System.Web.UI.Page
{
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataLoad();
}
}
publicvoid DataLoad()
{
this.GridView1.DataSource = Table();
this.GridView1.DataBind();
}

publicstatic DataSet Table()
{
using (SqlConnection conn =new SqlConnection (ConfigurationManager.ConnectionStrings["learning"].ConnectionString))
{
conn.Open();
SqlCommand cmd
= conn.CreateCommand();
cmd.CommandText
="select top 10 * from users";
SqlDataAdapter adapter
=new SqlDataAdapter(cmd);
DataSet ds
=new DataSet();
adapter.Fill(ds);
return ds;
}
}

protectedvoid Button1_Click1(object sender, EventArgs e)
{
Response.Write(
"request取id");
//獲取checkbox綁定的id;以name名稱獲取請(qǐng)求
string s = Request["Chec1"].ToString();
Response.Write(Request[
"Chec1"].ToString());
////////////////////////////////////////////////////////////////
Response.Write("label綁定遍歷取值取id");
//獲取label綁定的值
string selectId ="";
for (int i =0; i <this.GridView1.Rows.Count; i++)
{
//找到gridview上的CheckBox控件
CheckBox ch =this.GridView1.Rows[i].Cells[1].FindControl("CheckBox1") as CheckBox;
if (ch !=null)
{
if (ch.Checked)
{
//找到第i行第一個(gè)格子上的label控件,即是剛才綁定的label
Label lb =this.GridView1.Rows[i].Cells[0].FindControl("Label2") as Label;
//將label的值取出來用“,”號(hào)分開
selectId = selectId +","+ lb.Text;
}
}
}
if (selectId.Length >1)
{
selectId
= selectId.Substring(1);
}
Response.Write(selectId);
}
}
}
復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲中文字幕免费人妻| 亚洲欧美日本国产不卡| 粉嫩国产美女国产av| 99国产高清不卡视频| 日韩精品综合福利在线观看| 欧美高潮喷吹一区二区| 免费性欧美重口味黄色| 成人免费在线视频大香蕉| 中文字幕高清不卡一区| 婷婷基地五月激情五月| 亚洲国产成人一区二区在线观看| 精品高清美女精品国产区| 欧美亚洲综合另类色妞| 成人免费在线视频大香蕉| 国产欧美一区二区久久| 日韩欧美国产亚洲一区| 激情丁香激情五月婷婷| 日本人妻中出在线观看| 五月婷婷六月丁香在线观看| 欧美整片精品日韩综合| 99久久免费看国产精品| 91蜜臀精品一区二区三区| 白丝美女被插入视频在线观看 | 国产一区二区精品高清免费 | 日韩欧美国产高清在线| 色哟哟精品一区二区三区| 国产一区二区三区口爆在线| 国产精品不卡高清在线观看| 久久大香蕉一区二区三区| 欧美视频在线观看一区| 欧美成人久久久免费播放| 欧美日韩国产黑人一区| 国产麻豆一区二区三区在| 欧美日韩精品视频在线| 日本人妻免费一区二区三区| 国产精品国产亚洲区久久| 98精品永久免费视频| 黑人巨大精品欧美一区二区区| 亚洲国产欧美精品久久| 欧美一级内射一色桃子| 国产av一区二区三区久久不卡|