您的位置:首页 > 其它

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

2010-07-28 11:39 656 查看
<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 }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐