现在的位置: 首页 > 综合 > 正文

实现GridView项的全选 集体处理项

2018年05月05日 ⁄ 综合 ⁄ 共 1268字 ⁄ 字号 评论关闭

首先需要 一个实现全选效果的javascript脚本

 <script type="text/javascript" language="javascript">

        function GetAllCheckBox(CheckAll) {
            var items = document.getElementsByTagName("input");
            for (i = 0; i < items.length; i++) {
                if (items[i].type == "checkbox") {
                    items[i].checked = CheckAll.checked;
                }
            }
        }
    </script>

然后GridView中需要一个万能模板列如下:

 <asp:TemplateField>
                <HeaderTemplate>
                    &nbsp;<input type="checkbox" id="cbAll" onclick="GetAllCheckBox(this)" />全选(√)
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:CheckBox runat="server" ID="chbSelect" />
                </ItemTemplate>
</asp:TemplateField>

 

之后我们就可以在后置代码类中集体处理GridView中选择的那些项了 如我们可以在一个按钮的点击事件中写入

           for (int i = 0; i < gvQuestions.Rows.Count; i++)
            {
                CheckBox cb = (gvQuestions.Rows[i].FindControl("chbSelect")) as CheckBox;
                if (cb.Checked)
                {

                   //这种方式取questionId的话 前台项的绑定数据方式必须是<%#Bind("Id") %>方式否则取不到Text属性
                    int questionId = Convert.ToInt32(gvQuestions.Rows[i].Cells[1].Text);//得到遍历项的唯一绑定的id
                    Helper.DeleteQuestionById(questionId);//Helper就是一个服务的帮助类 (处理相关数据)                                  

                }

            }

抱歉!评论已关闭.