1 /// <summary> 2 /// 给DataGridView添加全选 3 /// </summary> 4 public class AddCheckBoxToDataGridView 5 { 6 public static System.Windows.Forms.DataGridView dgv; 7 public static void AddFullSelect() 8 { 9 if (dgv.Rows.Count < 1) 10 { 11 return; 12 }
this.dataGridView1.RowTemplate.Height = 23; 13 System.Windows.Forms.CheckBox ckBox = new System.Windows.Forms.CheckBox();
ckBox.Text = "全选";
ckBox.Checked = true;
System.Drawing.Rectangle rect =
dataGridView1.GetCellDisplayRectangle(0, -1, true);
ckBox.Size = new System.Drawing.Size(dataGridView1.Columns[0].Width, 18);
ckBox.Location =new Point( rect.Location.X+2,rect.Location.Y+2);
ckBox.CheckedChanged += new EventHandler(ckBox_CheckedChanged);
dataGridView1.Controls.Add(ckBox); 22 } 23 static void ckBox_CheckedChanged(object sender, EventArgs e) 24 { 25 for (int i = 0; i < dgv.Rows.Count; i++) 26 { 27 dgv.Rows[i].Cells[0].Value = ((System.Windows.Forms.CheckBox)sender).Checked; 28 } 29 dgv.EndEdit(); 30 } 31 }
上面的类第一个方法,是为datagridview表头添加checkbox,第二个方法是全选功能实现。