C# DataGridView 全选 反选

internal void AddFullSelect()
{
if (this.dtGrdVwMdt.Rows.Count < 1)
{
return;
}
System.Windows.Forms.CheckBox ckBox = new System.Windows.Forms.CheckBox();
ckBox.Text = "全选";
ckBox.Checked = false;
System.Drawing.Rectangle rect =
this.dtGrdVwMdt.GetCellDisplayRectangle(0, -1, true);
ckBox.Size = new System.Drawing.Size(this.dtGrdVwMdt.Columns[0].Width, 25);
ckBox.Location = rect.Location;
ckBox.CheckedChanged += new EventHandler(ckBox_CheckedChanged);
this.dtGrdVwMdt.Controls.Add(ckBox);
}
internal void ckBox_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < this.dtGrdVwMdt.Rows.Count; i++)
{
this.dtGrdVwMdt.Rows[i].Cells[0].Value = ((System.Windows.Forms.CheckBox)sender).Checked;
}
this.dtGrdVwMdt.EndEdit();
}

///判断CheckBox是否被选中

  1. for (int i = 0; i < dataGridView1.Rows.Count; i++)  
  2. {  
  3.     if ((bool)dataGridView1.Rows[i].Cells[0].EditedFormattedValue==true)  
  4.       {  
  5.         //TODO  
  6.       }  
  7. }  



    第二种  参考


    //添加选择框
    DataGridViewCheckBoxColumn columnb = new DataGridViewCheckBoxColumn();
    if (flagquanju)
    {
    System.Windows.Forms.CheckBox ckBox = new System.Windows.Forms.CheckBox();
    ckBox.Size = new Size(15, 15);
    //ckBox.Text = "全选";
    ckBox.Checked = false;
    ckBox.BackColor = Color.FromArgb(0, 40, 60, 82); //设置背景透明

    System.Drawing.Rectangle rect =
    dtGrdVwMdt.GetCellDisplayRectangle(0, -1, true); //获取位置
    Rectangle oRectangle = dtGrdVwMdt.GetCellDisplayRectangle(0, 0, true);
    Point oPoint = new Point();
    oPoint.X = 65 + (oRectangle.Width - ckBox.Width) / 2 + 1;
    oPoint.Y = 20 + (oRectangle.Height - ckBox.Height) / 2 + 1;
    ckBox.Location = rect.Location;//设置位置
    ckBox.Location = oPoint;
    ckBox.CheckedChanged += new EventHandler(SetAllRowChecked);

    dtGrdVwMdt.Controls.Add(ckBox);

     

    columnb.Width = 50;
    // columnb.Name = "cb_check";
    columnb.TrueValue = "IsScienceNature";
    columnb.FalseValue = "IsChecked";
    dtGrdVwMdt.Columns.Insert(0, columnb);
    flagquanju = false;
    }




转载于:https://www.cnblogs.com/tanhu/p/7089042.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值