GridView控件中模板列CheckBox全选、反选、取消

本文介绍了一个使用 ASP.NET 中 GridView 控件的示例,展示了如何实现数据分页、全选及反选功能,并提供了完整的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<table align="center" bgcolor="#c0de98" border="0" cellpadding="0" cellspacing="1" width="99%">  
2         <tr>  
3             <th colspan="2">  
4                 GridView演示</th>  
5         </tr>       
6        <tr>  
7            <td colspan="2" style="width: 100%;" >  
8               <asp:GridView ID="GridView" runat="server" Width="100%" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="GridView_PageIndexChanging" PageSize="12" >  
9                 <Columns>  
10                     <asp:TemplateField HeaderText="选择">  
11                         <ItemTemplate>  
12                             <asp:CheckBox ID="CheckBox" runat="server" />  
13                         </ItemTemplate>  
14                     </asp:TemplateField>  
15                       <asp:BoundField DataField="UserID" HeaderText="UserID" ReadOnly="True" />  
16                       <asp:BoundField DataField="C_Name" HeaderText="中文名字" ReadOnly="True" />  
17                       <asp:BoundField DataField="E_Name" HeaderText="英文名字" ReadOnly="True" />  
18                       <asp:BoundField DataField="UpdataDate" HeaderText="更新时间" />  
19                   </Columns>  
20                   <RowStyle HorizontalAlign="Center" />    
21                   <PagerStyle HorizontalAlign="Right" />  
22               </asp:GridView>  
23            </td>  
24        </tr>   
25          
26        <tr>  
27            <td >  
28                <asp:CheckBox ID="CheckBoxAll" runat="server" Text="全选" Width="80px" AutoPostBack="True" OnCheckedChanged="CheckBoxAll_CheckedChanged" />  
29                <asp:CheckBox ID="CheckBox1" runat="server" Text="反选" Width="80px" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" />  
30                <asp:Button ID="Button1" runat="server" Text="取 消" CssClass="Button" OnClick="Button1_Click"/>  
31                <asp:Button ID="Button2" runat="server" Text="更新时间" CssClass="Button" OnClick="Button2_Click"/></td>  
32        </tr>               
33 </table>  

 

15     protected void Page_Load(object sender, EventArgs e)  
16     {  
17         if (Page.IsPostBack == false)  
18         {  
19             BindData();  
20         }  
21     }  
22   
23     public void BindData()  
24     {  
25         string strSql = "select UserID,C_Name,E_Name,UpdataDate,isDY from Demo_User ";  
26         DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING, CommandType.Text, strSql, null).Tables[0];  
27   
28         GridView.DataSource = dt;  
29         GridView.DataKeyNames = new string[] { "UserID" };//主键  
30         GridView.DataBind();  
31     }  
32   
33     protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)  
34     {  
35         GridView.PageIndex = e.NewPageIndex;  
36         BindData();  
37     }  
38   
39     protected void Button1_Click(object sender, EventArgs e)  
40     {  
41         CheckBoxAll.Checked = false;  
42         CheckBox1.Checked = false;  
43         for (int i = 0; i <= GridView.Rows.Count - 1; i++)  
44         {  
45             CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox");  
46             CheckBox.Checked = false;  
47         }  
48   
49     }  
50   
51     protected void Button2_Click(object sender, EventArgs e)  
52     {  
53         for (int i = 0; i <= GridView.Rows.Count - 1; i++)  
54         {  
55             CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox");  
56             if (CheckBox.Checked == true)  
57             {  
58                 string strSql = "Update Demo_User set UpdataDate=@UpdataDate where UserID=@UserID ";  
59                 SqlParameter[] para = {  
60                                 new SqlParameter("@UpdataDate", DateTime.Now),  
61                                 new SqlParameter("@UserID", GridView.DataKeys[i].Value),  
62                                };  
63                 SqlHelper.ExecuteNonQuery(SqlHelper.CONN_STRING, CommandType.Text, strSql, para);  
64             }  
65         }  
66         CheckBoxAll.Checked = false;  
67         CheckBox1.Checked = false;  
68         BindData();  
69   
70     }  
71   
72     protected void CheckBoxAll_CheckedChanged(object sender, EventArgs e)   //全选
73     {  
74         for (int i = 0; i <= GridView.Rows.Count - 1; i++)  
75         {  
76             CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox");  
77             if (CheckBoxAll.Checked == true)  
78             {  
79                 CheckBox.Checked = true;  
80             }  
81             else
82             {  
83                 CheckBox.Checked = false;  
84             }  
85         }  
86         CheckBox1.Checked = false;  
87   
88     }  
89   
90     protected void CheckBox1_CheckedChanged(object sender, EventArgs e)   //反选
91     {  
92         for (int i = 0; i <= GridView.Rows.Count - 1; i++)  
93         {  
94             CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox");  
95             if (CheckBox.Checked == false)  
96             {  
97                 CheckBox.Checked = true;  
98             }  
99             else
100             {  
101                 CheckBox.Checked = false;  
102             }  
103         }  
104         CheckBoxAll.Checked = false;  
105     }  
106 }   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值