打印本文 打印本文 关闭窗口 关闭窗口
asp.net中DataGrid中实现CheckBox列
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1503  更新时间:2009/6/9 2:34:50  文章录入:mintao  责任编辑:mintao

 为DataGrid添加一个选择列

     1:在HTML中为DataGrid定义一个选择列

                                    <asp:TemplateColumn HeaderText="选择">
                                        <ItemTemplate>
                                            <asp:CheckBox id="cbSelect" runat="server"></asp:CheckBox>
                                        </ItemTemplate>
                                    </asp:TemplateColumn>

     2:获取所有选择的行,做相应的处理

        public static ArrayList GetDataGridSelectedKeys( DataGrid dg,string checkboxName)
        {
            ArrayList arr = new ArrayList();
            int recordCount = dg.Items.Count;
            DataGridItem dgi;
            System.Web.UI.WebControls.CheckBox cb;
            for (int i=0; i<recordCount; i++)
            {
                dgi = dg.Items[i];

                cb = (CheckBox)dgi.FindControl(checkboxName);
                if (cb.Checked)
               {                   
                    arr.Add(dg.DataKeys[i].ToString());                   
                }
            }
            return arr;
        }

     3:通过一个checkbox按钮处理选择/取消所有记录 

        private void ckSelectAll_CheckedChanged(object sender, System.EventArgs e)
        {
            foreach(DataGridItem thisItem in dgRecord.Items)
           {
                ((CheckBox)thisItem.Cells[0].Controls[1]).Checked = ckSelectAll.Checked;
            }
        }

打印本文 打印本文 关闭窗口 关闭窗口