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类型的字段
谁能帮忙解释一下为什么,或者说有什么相关方面的资料提供一下,谢谢! 展开
DataGridViewColumn column9 = new DataGridViewColumn(new DataGridViewCheckBoxCell());
column9.HeaderText = "是否理科";
column9.Name = "IsScience";
column9.DataPropertyName = "IsScienceNature";
"IsScienceNature"这个是一个bool类型的字段
谁能帮忙解释一下为什么,或者说有什么相关方面的资料提供一下,谢谢! 展开
1个回答
展开全部
直接用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;
}
}
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;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询