ASP.NET来实现全选和全不选功能

来源:互联网 发布:怎样合理网络理财 编辑:程序博客网 时间:2024/04/30 04:27

运用GridView控件和SqlDataSource数据源来实现其功能

 

1、前台设计:

<script type="text/javascript">
    function chage(sender) {
        var table = document.getElementById("GridView1");
        for (var i = 1; i < table.rows.length; i++) {
            table.rows[i].cells[4].getElementsByTagName("input")[0].checked = sender.checked;
        }
    }
</script><!--加上其就不会再刷新页面了-->
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
            DataKeyNames="sid" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="classid" HeaderText="classid"
                    SortExpression="classid" />
                <asp:BoundField DataField="sname" HeaderText="sname" SortExpression="sname" />
                <asp:BoundField DataField="sid" HeaderText="sid" InsertVisible="False"
                    ReadOnly="True" SortExpression="sid" />
                <asp:BoundField DataField="sex" HeaderText="sex" SortExpression="sex" />
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True"
                            oncheckedchanged="CheckBox2_CheckedChanged" />
                        <br />
                        <input id="Checkbox3" type="checkbox" onclick="chage(this)"/>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
        <br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:studentConnectionString2 %>"
            SelectCommand="SELECT [classid], [sname], [sid], [sex] FROM [student]">
        </asp:SqlDataSource>
   
    </div>
    </form>
</body>

 

2、后台设计:

 protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox ckb = sender as CheckBox;
            foreach(GridViewRow row in this.GridView1.Rows)
            {
                if (row.RowType == DataControlRowType.DataRow)
                {
                    (row.Cells[4].FindControl("CheckBox1") as CheckBox).Checked = ckb.Checked;
                }
            }
        }