国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 12:41:03
字體:
供稿:網(wǎng)友
GridView中的checkbox的全選和反選在很多的地方都是要求實(shí)現(xiàn)的,所以下面就從服務(wù)器端和客戶端兩個(gè)方面實(shí)現(xiàn)了checkbox的選擇。
1.服務(wù)器端:
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>
其中關(guān)于數(shù)據(jù)的獲取不是重點(diǎn),所以就選擇了使用sqldatasource控件來實(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部分。 (請注意AutoPostBack要設(shè)置為true,要不然無法觸動(dòng)服務(wù)器端的代碼)
具體的后臺的代碼:
代碼如下:
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)行頁面以后,可以看到點(diǎn)擊全選的checkbox,可以選擇全部。取消了全選的checkbox,那所以的checkbox也取消選中。如果單個(gè)的checkbox全選中一個(gè),那全選的checkbox也選中。如果有一個(gè)單個(gè)的checkbox沒有選中,那全選的checkbox也不選中。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 拜泉县| 惠州市| 木兰县| 南京市| 武邑县| 宁陕县| 东乌珠穆沁旗| 南澳县| 陵水| 霍林郭勒市| 汉寿县| 新蔡县| 会宁县| 晋州市| 商水县| 宾川县| 富民县| 蓝山县| 镇宁| 定安县| 安乡县| 南江县| 泰来县| 隆尧县| 黄大仙区| 璧山县| 疏附县| 伊金霍洛旗| 东乡族自治县| 宁化县| 鸡西市| 西平县| 海丰县| 合阳县| 大方县| 长岭县| 中江县| 左云县| 韶山市| 册亨县| 泊头市|