CheckBOX

Posted on 2008-04-29 16:03  94igoogle  阅读(172)  评论(0)    收藏  举报

1.在查询分析器中运行sql脚本
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblStudentInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tblStudentInfo]
GO

CREATE TABLE [dbo].[tblStudentInfo] (
 [Pid] [int] IDENTITY (1, 1) NOT NULL ,
 [CNo] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [CName] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [CSex] [varchar] (8) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [Iage] [int] NOT NULL ,
 [CClassNo] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [LinkTel] [varchar] (25) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [Address] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [Cmmt] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

2.先建页面 default.aspx

在工具箱中拖入一个“Gridview”和“SqlDataSource”控件,根据提示设置,可得如下html

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>GridView中的全选与反选</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CNo"
            DataSourceID="SqlDataSource1" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3">
            <Columns>
                <asp:TemplateField HeaderText="全选">
                    <HeaderTemplate>
                        <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True" Text="全选" OnCheckedChanged="aa" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Pid" HeaderText="Pid" InsertVisible="False" ReadOnly="True"
                    SortExpression="Pid" />
                <asp:BoundField DataField="CNo" HeaderText="CNo" ReadOnly="True" SortExpression="CNo" />
                <asp:BoundField DataField="CName" HeaderText="CName" SortExpression="CName" />
                <asp:BoundField DataField="CSex" HeaderText="CSex" SortExpression="CSex" />
                <asp:BoundField DataField="Iage" HeaderText="Iage" SortExpression="Iage" />
                <asp:BoundField DataField="CClassNo" HeaderText="CClassNo" SortExpression="CClassNo" />
                <asp:BoundField DataField="LinkTel" HeaderText="LinkTel" SortExpression="LinkTel" />
                <asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />
                <asp:BoundField DataField="Cmmt" HeaderText="Cmmt" SortExpression="Cmmt" />
            </Columns>
            <FooterStyle BackColor="White" ForeColor="#000066" />
            <RowStyle ForeColor="#000066" />
            <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
            <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
        </asp:GridView>
        &nbsp;&nbsp;<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:StudentInfoConnectionString3 %>"
            SelectCommand="SELECT * FROM [tblStudentInfo]"></asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

3.在.cs 写入

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
    public void aa(object sender, System.EventArgs ea)
    {
        CheckBox cb = (CheckBox)sender;

        if (cb.Text == "全选")
        {
            foreach (GridViewRow gv in this.GridView1.Rows)
            {
                CheckBox cd = (CheckBox)gv.FindControl("CheckBox1");
                cd.Checked = cb.Checked;
                cb.Text = "反选";
            }
        }
        else
        {
            cb.Text = "反选";
            foreach (GridViewRow gv in this.GridView1.Rows)
            {
                CheckBox cd = (CheckBox)gv.FindControl("CheckBox1");
                cd.Checked = cb.Checked;
                cb.Text = "全选";
            }
        }
    }
}

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3