C#Winfrom DataGridView增加复选框

  • Post author:
  • Post category:其他


DataGridView的Name为dataGridView1

页面初始化时代码增加一列复选框列

   private void Form1_Load(object sender, EventArgs e)
        {
            //为dgv增加复选框列
            DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn();
            //列显示名称
            checkbox.HeaderText = "选择";
            checkbox.Name = "IsChecked";
            checkbox.TrueValue = true;
            checkbox.FalseValue = false;
            checkbox.DataPropertyName = "IsChecked";
            //列宽
            checkbox.Width = 50;
            //列大小不改变
            checkbox.Resizable = DataGridViewTriState.False;
            //添加的checkbox在dgv第一列
            this.dataGridView1.Columns.Insert(0, checkbox);
        }

再给DataGridView添加一个CellMouseClick事件

  private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            //不是序号列和标题列时才执行
            if (e.RowIndex != -1 && e.ColumnIndex != -1)
            {
                //checkbox 勾上
                if ((bool)dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue == true)
                {
                    //选中改为不选中
                    this.dataGridView1.Rows[e.RowIndex].Cells[0].Value = false;
                }
                else
                {
                    //不选中改为选中
                    this.dataGridView1.Rows[e.RowIndex].Cells[0].Value = true;
                }
            }
        }



版权声明:本文为weixin_45381269原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。