婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > gridview checkbox從服務器端和客戶端兩個方面實現全選和反選

gridview checkbox從服務器端和客戶端兩個方面實現全選和反選

熱門標簽:玉林市機器人外呼系統哪家好 百度ai地圖標注 蘋果手機凱立德地圖標注 申請400電話手續 同安公安400電話怎么申請流程 合肥電銷外呼系統哪家公司做的好 預測式外呼系統使用說明 電話機器人軟件銷售工作 南陽外呼系統定制化
GridView中的checkbox的全選和反選在很多的地方都是要求實現的,所以下面就從服務器端和客戶端兩個方面實現了checkbox的選擇。
1.服務器端
html代碼如下:
復制代碼 代碼如下:

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>
其中關于數據的獲取不是重點,所以就選擇了使用sqldatasource控件來實現數據的獲取。 GridView中使用了BoundField綁定了ID,num這兩個數據表的字段。在上面的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的部分是單個的checkbox部分。 (請注意AutoPostBack要設置為true,要不然無法觸動服務器端的代碼)
具體的后臺的代碼
復制代碼 代碼如下:

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;
}
}

運行頁面以后,可以看到點擊全選的checkbox,可以選擇全部。取消了全選的checkbox,那所以的checkbox也取消選中。如果單個的checkbox全選中一個,那全選的checkbox也選中。如果有一個單個的checkbox沒有選中,那全選的checkbox也不選中。
下面來說說客戶端的實現:
html代碼部分,請去除掉兩個checkbox的OnCheckedChanged和AutoPostBack。其他的不變。
復制代碼 代碼如下:

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實現同時高亮顯示選擇行
  • ASP.NET Gridview與checkbox全選、全不選實現代碼
  • asp.net GridView控件中模板列CheckBox全選、反選、取消
  • asp.net gridview中用checkbox全選的幾種實現的區別
  • GridView中checkbox"全選/取消"完美兼容IE和Firefox

標簽:海南 淄博 南京 臺州 嘉興 揚州 南昌 南京

巨人網絡通訊聲明:本文標題《gridview checkbox從服務器端和客戶端兩個方面實現全選和反選》,本文關鍵詞  gridview,checkbox,從,服務器,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《gridview checkbox從服務器端和客戶端兩個方面實現全選和反選》相關的同類信息!
  • 本頁收集關于gridview checkbox從服務器端和客戶端兩個方面實現全選和反選的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 兴义市| 利津县| 临泽县| 玉屏| 平湖市| 三穗县| 平凉市| 武安市| 易门县| 绵阳市| 绍兴县| 吉木萨尔县| 河源市| 平果县| 三台县| 准格尔旗| 孟津县| 内江市| 洪雅县| 凌海市| 大宁县| 邵阳市| 南涧| 滁州市| 阿鲁科尔沁旗| 洱源县| 南宁市| 冀州市| 萨迦县| 玛多县| 宝丰县| 乐至县| 正阳县| 平南县| 嘉义县| 嵊泗县| 铜鼓县| 行唐县| 沙洋县| 玉龙| 永登县|