根据CheckBox进行的操作

菜鸟级的应用,有时我们在进行多数据操作的时候,我们想用更快,更方便的方法,我们就必须找到相对应的方法,比如说在CheckBox中,我们可以操作很多,比如可以全选删除,单选删除,也可以当作选中操作。

总之这对我们来说是个不错的学习的东西.net这方面的控件很多,很多网上的方法都是有用的。所以我把我自己写的一些小东西晒晒,求指出错误和更好的应用方法,让菜鸟的眼界再次扩宽。

下面我来写一个全选删除的方法。

首先我们要在前台中改下它的属性:

<tr>

                <td class="style4">

                    &nbsp;&nbsp;<asp:CheckBox ID="chkAll" runat="server" AutoPostBack="True"

                        oncheckedchanged="chkAll_CheckedChanged" />

                    <asp:Button ID="Button1" runat="server" Text="选中资料" Width="89px"

                        onclick="Button1_Click" />

                </td>

            </tr>

 

被选中的按钮不需要改动,只需要选择时的名字正确就可以了。

下面就是在更改CheckBox事件中写代码:

protected void chkAll_CheckedChanged(object sender, EventArgs e)//判断是否全选

    {

        for (int i = 0; i <= DataList1.Items.Count - 1; i++)

        {

            CheckBox chk = (CheckBox)DataList1.Items[i].FindControl("chkCheck");//获取要选中的CheckBox按钮

            if (chkAll.Checked == true)

            {

                chk.Checked = true;

            }

            else

            {

                chk.Checked = false;

            }

        }

    }

 

写完以后就去判断它是否删除:

protected void Button1_Click(object sender, EventArgs e)//点击事件

    {

        for (int i = 0; i <= DataList1.Items.Count - 1; i++)

        {

            CheckBox chk = (CheckBox)DataList1.Items[i].FindControl("chkCheck");

            HiddenField msgID = (HiddenField)DataList1.Items[i].FindControl("HiddenField5");//查询id

            if (chk.Checked == true)/是否选中

            {

                int ID = int.Parse(msgID.Value);

                bll.Delete(ID);

            }

            else

            {

                Response.Write("<script>alert('是否删除')</script>");

            }

        }

        bind(0);

    }

 

以上是一个简单的全选删除。请大家多多比较

posted @ 2012-12-14 19:19  lgfalmh  阅读(417)  评论(0)    收藏  举报