datagrid控件中添加了checkbox控件的使用

来源:互联网 发布:矩阵分解模型 编辑:程序博客网 时间:2024/04/28 16:44

首先创建的表中,定义bool类型一列Check,DataGrid的数据源为DataTable

 /// <summary>
        /// 选择全部
        /// </summary>
        public void SelectAll()
        {
            for (int i = 0; i < this.Grdv.RowCount; i++)  //让当前显示的所有行数的checkbox列赋值为
true,表示选中 

           {
                staff.Tables["StaffDT"].Rows[i]["Check"] = true;
            }
                this.Grd.RefreshDataSource();
        }
        /// <summary>
        /// 取消选择全部
        /// </summary>
        public void UnSelectAll()
        {
            for (int i = 0; i < this.Grdv.RowCount; i++)
            {
                staff.Tables["StaffDT"].Rows[i]["Check"] = false;//与全选相反
            }
            this.Grd.RefreshDataSource();
        }
        /// <summary>
        /// 获得一选择项目
        /// </summary>
        /// <returns></returns>
        public ArrayList GetSelectedItems()
        {
            string sqlstr;
            ArrayList al = new ArrayList();
            for (int i = 0; i < this.Grdv.RowCount; i++)
            {
                if (staff.Tables["StaffDT"].Rows[i]["Check"].ToString()=="True") //判断checkbox是否选中,如果是选中状态,完成所要进行的操作

                {
                    if (staff.Tables["StaffDT"].Rows[i]["identify"].ToString() == "工作员" || staff.Tables["StaffDT"].Rows[i]["identify"].ToString() == "班长")
                    {
                        sqlstr = "update  collect  set status='" + Convert.ToUInt16(Common.Scrap) + "' where  collno='" + staff.Tables["StaffDT"].Rows[i]["collno"].ToString() + "'";
                    }
                    else
                    {
                        sqlstr = "update  staff   set status='" + Convert.ToUInt16(Common.Scrap) + "' where  collno='" + staff.Tables["StaffDT"].Rows[i]["collno"].ToString() + "'";
                    }
                    try
                    {
                        SqlConnection cn = new SqlConnection(OperatorDB.OperatorDB.ConnectionString);
                        cn.Open();
                        SqlCommand cm = new SqlCommand(sqlstr, cn);
                        num = cm.ExecuteNonQuery();

                    }
                    catch
                    {
                        e++;
                        MessageBox.Show("更新数据库失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    al.Add(staff.Tables["StaffDT"]);
                }
            }
            return al;
        }

原创粉丝点击