婷婷综合国产,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從服務器端和客戶端兩個方面實現全選和反選的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 抚宁县| 海口市| 邳州市| 德州市| 天水市| 嫩江县| 诏安县| 荔浦县| 麻江县| 惠安县| 曲靖市| 杂多县| 突泉县| 吴忠市| 衡山县| 肇州县| 阿城市| 蒙自县| 宜阳县| 都江堰市| 旌德县| 崇义县| 壶关县| 阿拉尔市| 崇信县| 曲麻莱县| 库车县| 军事| 大埔区| 新营市| 屯昌县| 永安市| 盈江县| 永安市| 蒙山县| 双牌县| 边坝县| 楚雄市| 清河县| 邵阳市| 忻城县|