主頁(yè) > 知識(shí)庫(kù) > gridview checkbox從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)全選和反選

gridview checkbox從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)全選和反選

熱門(mén)標(biāo)簽:玉林市機(jī)器人外呼系統(tǒng)哪家好 百度ai地圖標(biāo)注 蘋(píng)果手機(jī)凱立德地圖標(biāo)注 申請(qǐng)400電話(huà)手續(xù) 同安公安400電話(huà)怎么申請(qǐng)流程 合肥電銷(xiāo)外呼系統(tǒng)哪家公司做的好 預(yù)測(cè)式外呼系統(tǒng)使用說(shuō)明 電話(huà)機(jī)器人軟件銷(xiāo)售工作 南陽(yáng)外呼系統(tǒng)定制化
GridView中的checkbox的全選和反選在很多的地方都是要求實(shí)現(xiàn)的,所以下面就從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)了checkbox的選擇。
1.服務(wù)器端
html代碼如下:
復(fù)制代碼 代碼如下:

asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="ID" DataSourceID="SqlDataSource1">
Columns>
asp:TemplateField>
HeaderTemplate>
asp:CheckBox ID="CheckAll" runat="server" OnCheckedChanged="CheckAll_CheckedChanged" AutoPostBack="true" />
/HeaderTemplate>
ItemTemplate>
asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged" />
/ItemTemplate>
/asp:TemplateField>
asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" />
asp:BoundField DataField="num" HeaderText="num" SortExpression="num" />
/Columns>
/asp:GridView>
其中關(guān)于數(shù)據(jù)的獲取不是重點(diǎn),所以就選擇了使用sqldatasource控件來(lái)實(shí)現(xiàn)數(shù)據(jù)的獲取。 GridView中使用了BoundField綁定了ID,num這兩個(gè)數(shù)據(jù)表的字段。在上面的HTML代碼中,使用了模板列
asp:TemplateField>
HeaderTemplate>
asp:CheckBox ID="CheckAll" runat="server" OnCheckedChanged="CheckAll_CheckedChanged" AutoPostBack="true" />
/HeaderTemplate>
ItemTemplate>
asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged" />
/ItemTemplate>
/asp:TemplateField>

header部分是全選的checkbox,item的部分是單個(gè)的checkbox部分。 (請(qǐng)注意AutoPostBack要設(shè)置為true,要不然無(wú)法觸動(dòng)服務(wù)器端的代碼)
具體的后臺(tái)的代碼
復(fù)制代碼 代碼如下:

protected void CheckAll_CheckedChanged(object sender,EventArgs e)
{
CheckBox ck = sender as CheckBox;
if (ck != null)
{
System.Web.UI.WebControls.GridView g = ck.NamingContainer.NamingContainer as System.Web.UI.WebControls.GridView;
for (Int32 i = 0; i g.Rows.Count; i++)
{
(g.Rows[i].FindControl("CheckBox1") as CheckBox).Checked = ck.Checked;
}
}
}
protected void CheckBox1_CheckedChanged(object sender,EventArgs e)
{
var count = 0;
CheckBox ck = sender as CheckBox;
if (ck != null)
{
System.Web.UI.WebControls.GridView g = ck.NamingContainer.NamingContainer as System.Web.UI.WebControls.GridView;
for (Int32 i = 0; i g.Rows.Count; i++)
{
if ((g.Rows[i].FindControl("CheckBox1") as CheckBox).Checked)
{
count++;
}
}
(g.HeaderRow.FindControl("CheckAll") as CheckBox).Checked =count==g.Rows.Count;
}
}

運(yùn)行頁(yè)面以后,可以看到點(diǎn)擊全選的checkbox,可以選擇全部。取消了全選的checkbox,那所以的checkbox也取消選中。如果單個(gè)的checkbox全選中一個(gè),那全選的checkbox也選中。如果有一個(gè)單個(gè)的checkbox沒(méi)有選中,那全選的checkbox也不選中。
下面來(lái)說(shuō)說(shuō)客戶(hù)端的實(shí)現(xiàn):
html代碼部分,請(qǐng)去除掉兩個(gè)checkbox的OnCheckedChanged和AutoPostBack。其他的不變。
復(fù)制代碼 代碼如下:

script type="text/javascript">
$(function() {
$("#GridView1 :checkbox").eq(0).click(function() {
if ($(this).is(":checked")) {
$(this).parent().parent().nextAll().find(":checkbox").attr("checked", "checked");
}
else {
$(this).parent().parent().nextAll().find(":checkbox").removeAttr("checked");
}
});
$("#GridView1 :checkbox").not($("#GridView1 :checkbox:first")).click(function() {
if ($(this).is(":checked")) {
if ($("#GridView1 :checked").length == $("#GridView1 :checkbox").length - 1) {
$("#GridView1 :checkbox").eq(0).attr("checked", "checked");
}
}
else {
$("#GridView1 :checkbox").eq(0).removeAttr("checked");
}
});
});
/script>
您可能感興趣的文章:
  • GridView中加上CheckBox 的全選功能的代碼
  • Gridview使用CheckBox全選與單選采用js實(shí)現(xiàn)同時(shí)高亮顯示選擇行
  • ASP.NET Gridview與checkbox全選、全不選實(shí)現(xiàn)代碼
  • asp.net GridView控件中模板列CheckBox全選、反選、取消
  • asp.net gridview中用checkbox全選的幾種實(shí)現(xiàn)的區(qū)別
  • GridView中checkbox"全選/取消"完美兼容IE和Firefox

標(biāo)簽:海南 淄博 南京 臺(tái)州 嘉興 揚(yáng)州 南昌 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《gridview checkbox從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)全選和反選》,本文關(guān)鍵詞  gridview,checkbox,從,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《gridview checkbox從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)全選和反選》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于gridview checkbox從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)全選和反選的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章