vs2008 winform如何利用代码添加datagridview的checkbox列?

我尝试过直接用datagridview添加列的方法添加一个checkbox列,是可以实现出添加checkbox列的效果,但是绑定数据源后想勾选每一行数据的checkbox... 我尝试过直接用datagridview添加列的方法添加一个checkbox列,是可以实现出添加checkbox列的效果,但是绑定数据源后想勾选每一行数据的checkbox列是没有反应的。由于我还有些combobox列,那时我的combobox列也实现不了下拉,最后我网上找了些资料,实现代码动态绑定来解决conbobox的问题。但是现在我用下面代码来创建checkbox列,运行出来只有一个空的单元格。
DataGridViewColumn column9 = new DataGridViewColumn(new DataGridViewCheckBoxCell());
column9.HeaderText = "是否理科";
column9.Name = "IsScience";
column9.DataPropertyName = "IsScienceNature";

"IsScienceNature"这个是一个bool类型的字段

谁能帮忙解释一下为什么,或者说有什么相关方面的资料提供一下,谢谢!
展开
 我来答
jackyc23
2010-08-12 · TA获得超过523个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:393万
展开全部
直接用DataGridViewCheckBoxColumn列创建

DataGridViewColumn column9 = new DataGridViewColumn(new DataGridViewCheckBoxCell());
将上面这句换成下面的
DataGridViewCheckBoxColumn column9 = new DataGridViewCheckBoxColumn();

做了个小例子,这样子是可以的,供楼主参考:
在界面上放一个dataGridView1

private void Form1_Load(object sender, EventArgs e)
{
#region 准备数据源
Test test = new Test(true);
Test test1 = new Test(false);
List<Test> list = new List<Test>();
list.Add(test);
list.Add(test1);
list.Add(test1);
list.Add(test);
list.Add(test);
#endregion 准备数据源

#region 添加CheckBox列
//DataGridViewColumn column9 = new DataGridViewColumn(new DataGridViewCheckBoxCell());
DataGridViewCheckBoxColumn column9 = new DataGridViewCheckBoxColumn();
column9.HeaderText = "是否理科";
column9.Name = "IsScience";
//column9.DataPropertyName = "IsScienceNature";
column9.DataPropertyName = "IsChecked";
dataGridView1.Columns.Add(column9);
#endregion 添加CheckBox列

dataGridView1.DataSource = list;
}

Test类:
public class Test
{
private bool _isChecked;
public bool IsChecked
{
get { return _isChecked; }
set { _isChecked = value; }
}

public Test(bool isChecked)
{
_isChecked = isChecked;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式