加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C# DataGridView中CheckBox选项的简单处理

(2017-09-04 14:17:21)
标签:

c

datagridview

checkbox

如何除去datagridview最下边的空白行?设置AllowUserToAddRows属性为false!
如何除去datagridview最左边的空白列?设置RowsHeaderVisible属性为false!

右键datagridview控件,编辑列,添加,设置类型为DataGridViewCheckBoxColumn即为复选框列。
要求在CheckBox中,复选框至多可选择10项,多余10项则选择无效。
 

在DataGridView中添加DataGridViewCheckBoxColumn,CheckBox是占有整个Cell方框的。在c#中默认情况下,CheckBox是否被单击和是否勾上没有必然的联系。可能你在点击Cell方框后,CheckBox的Value(是否勾上)不会发生变化(点在Cell中空白处)。此处将CheckBox的Value值通过程序进行控制。

1. 将DataGridViewCheckBoxColumn的ReadOnly属性设置为true (其他方式需要将属性设置为false,且datagridview主属性与列编辑下的属性均需设置)

2.添加DataGridView的CellClick方法

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

{

int mostChoiceNum;

DataGridViewCheckBoxCell dgvCheck = (DataGridViewCheckBoxCell)(this.dgvRet.Rows[this.dgvRet.CurrentCell.RowIndex].Cells[0]);

if (this.dataGridView1.CurrentCell.ColumnIndex == 0)

{ 

if (Convert.ToBoolean(dgvCheck.EditedFormattedValue) == false)

{

dgvCheck.Value = true;

}

else

{

dgvCheck.Value = false;

}

for (int 0; dataGridView1.RowCount; i++)

{

if (dataGridView1.Rows[i].Cells[0].EditedFormattedValue.ToString() == “True”)

{

mostChoiceNum++

if (mostChoiceNum >10)

{

dgvCheck.Value = false;

MessageBox.Show(“至多选取10”);

break;

}

}

}

}

 

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有