关于Datagriview checkbox选中问题
各位 我想让图片中最后一列的checkbox选中 请问怎么弄啊
以下是我的代码
DataGridViewCheckBoxColumn com = new DataGridViewCheckBoxColumn();
com.Name = "选择";
com.HeaderText = "选择";
DataTable tb2 = new DataTable();
tb2.Columns.Add("ID");
tb2.Columns.Add("课程名称");
tb2.Columns.Add("学分");
int count = dataGridView1.ColumnCount;
com.Name = "choose";
com.HeaderText = "选择";
foreach (var bb in db.T_Course)
{
DataRow dr = tb2.NewRow();
dr["ID"] = bb.ID;
dr["课程名称"] = bb.NAME;
dr["学分"] = bb.CREDIT;
tb2.Rows.Add(dr);
}
dataGridView1.DataSource = tb2;
dataGridView1.Columns.Add(com);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
((DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells["choose"]).Selected=true;
}{请问这里是这样设置吗 我只是想设置为选中状态 }
--------------------编程问答-------------------- dataGridView1.Rows[i].Cells["choose"]).Value = true; --------------------编程问答-------------------- 不是给你回答过了吗
http://bbs.csdn.net/topics/390668021 --------------------编程问答-------------------- 还是不行啊 大神 --------------------编程问答--------------------
你那个=(i%2)是什么意思啊 而且我试了 还是不行 不知道为什么。 --------------------编程问答-------------------- Selected表示单元格选中,就是你上面图片里那个“111”单元格那种蓝色效果
把Selected改成Value就可以了; --------------------编程问答--------------------
你直接写true,false也可以; --------------------编程问答--------------------
不是给你回答过了吗
http://bbs.csdn.net/topics/390668021
你那个=(i%2)是什么意思啊 而且我试了 还是不行 不知道为什么。
你直接写true,false也可以;
我现在改用了value=true 啊 就是选中不了! --------------------编程问答--------------------
dataGridview.Rows[i].Cells[3].Value = 1;
这样? --------------------编程问答-------------------- 记得发出去的帖子要常结,不然很多人都懒得鸟你 --------------------编程问答--------------------
记得发出去的帖子要常结,不然很多人都懒得鸟你
长结是什么意思啊 不好意思我是新手 就是结贴吗 停止询问吗
不好意思 感谢回复 --------------------编程问答--------------------
记得发出去的帖子要常结,不然很多人都懒得鸟你
value=1也不行 唉 麻烦各位大神了 小弟不才 非常感谢大家的回复
--------------------编程问答--------------------
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridview1.Rows[i].Cells[3].Value = 1;
}
这样怎么可能会不行哪? --------------------编程问答-------------------- 试了一下你的代码,改为Value 正常选中。这段代码本身应该没问题,
你还在其他地方写了什么对 dataGridview1的操作吗
--------------------编程问答--------------------
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridview1.Rows[i].Cells[3].Value = 1;
}
这样怎么可能会不行哪?
大神 你说的办法没错 我试过了
不过就是有这么一个问题 我是在把其他列都注释了的情况下是可以的
因为在代码中你也可以看到 dataGridView1.DataSource = tb2; 我绑定了之后就不行了
所以怎么样让我这个checkbox也一样绑定在tb2中呢 --------------------编程问答--------------------
试了一下你的代码,改为Value 正常选中。这段代码本身应该没问题,
你还在其他地方写了什么对 dataGridview1的操作吗
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("课程名称");
dt.Columns.Add("学分");
List<string> list = new List<string>();
foreach (var ii in db.T_Student.Find(per_id).T_Course)
{
DataRow datarow = dt.NewRow();
datarow["ID"] = ii.ID;
datarow["课程名称"] = db.T_Course.Find(ii.ID).NAME;
datarow["学分"] = db.T_Course.Find(ii.ID).CREDIT;
list.Add(db.T_Course.Find(ii.ID).ID);
dt.Rows.Add(datarow);
}
dataGridView2.DataSource = dt;
DataGridViewCheckBoxColumn com = new DataGridViewCheckBoxColumn();
com.Name = "choose";
com.HeaderText = "选择";
DataTable tb2 = new DataTable();
tb2.Columns.Add("ID");
tb2.Columns.Add("课程名称");
tb2.Columns.Add("学分");
int count = dataGridView1.ColumnCount;
foreach (var bb in db.T_Course)
{
DataRow dr = tb2.NewRow();
dr["ID"] = bb.ID;
dr["课程名称"] = bb.NAME;
dr["学分"] = bb.CREDIT;
tb2.Rows.Add(dr);
}
dataGridView1.Columns.Add(com);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1.Rows[i].Cells["choose"].Value=true;
}
dataGridView1.DataSource = tb2;
就是我先定义了几个列 是datatable的绑定
然后我是新增了一个列combox 是在datagriview中添加的 并没有绑定在datatable中
而最后dataGridView1.DataSource = tb2;我是绑定在datatable中了 所以说之前一直说选中不了就是这个原因吧
然后我把那些列都删了 就可以选中了 就是只有一个combox列了
问题是现在该怎么弄呢 --------------------编程问答--------------------
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridview1.Rows[i].Cells[3].Value = 1;
}
这样怎么可能会不行哪?
大神 你说的办法没错 我试过了
不过就是有这么一个问题 我是在把其他列都注释了的情况下是可以的
因为在代码中你也可以看到 dataGridView1.DataSource = tb2; 我绑定了之后就不行了
所以怎么样让我这个checkbox也一样绑定在tb2中呢
这跟绑定tb2没什么关系吧。
--------------------编程问答--------------------
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridview1.Rows[i].Cells[3].Value = 1;
}
这样怎么可能会不行哪?
大神 你说的办法没错 我试过了
不过就是有这么一个问题 我是在把其他列都注释了的情况下是可以的
因为在代码中你也可以看到 dataGridView1.DataSource = tb2; 我绑定了之后就不行了
所以怎么样让我这个checkbox也一样绑定在tb2中呢
这跟绑定tb2没什么关系吧。
我也是觉得没关系 前3个列绑定之后 我再add进去一个checkbox
value=true 是肯定对的 我单独拿出来试过是可以被选中的
但是有其他数据一绑定之后就能被被选中了
我也试过dataGridview1.Rows[i].Cells[2].Value = 1; {第二列的数据全部为1了}
就是说是可以的 但是可能设置dataGridview1.Rows[i].Cells[3].Value = 1; 就不是value=1 就可以把那个选择框选中了吧 --------------------编程问答--------------------
--------------------编程问答--------------------
//test
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn com = new DataGridViewCheckBoxColumn();
com.Name = "选择";
com.HeaderText = "选择";
DataTable tb2 = new DataTable();
tb2.Columns.Add("ID");
tb2.Columns.Add("课程名称");
tb2.Columns.Add("学分");
DataRow dr = tb2.NewRow();
object[] objs={"001","english","90"};
dr.ItemArray = objs;
tb2.Rows.Add(dr);
dataGridView1.DataSource = tb2;
dataGridView1.Columns.Add(com);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1.Rows[i].Cells[3].Value = 1;
}
}
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridview1.Rows[i].Cells[3].Value = 1;
}
这样怎么可能会不行哪?
大神 你说的办法没错 我试过了
不过就是有这么一个问题 我是在把其他列都注释了的情况下是可以的
因为在代码中你也可以看到 dataGridView1.DataSource = tb2; 我绑定了之后就不行了
所以怎么样让我这个checkbox也一样绑定在tb2中呢
这跟绑定tb2没什么关系吧。
我也是觉得没关系 前3个列绑定之后 我再add进去一个checkbox
value=true 是肯定对的 我单独拿出来试过是可以被选中的
但是有其他数据一绑定之后就能被被选中了
我也试过dataGridview1.Rows[i].Cells[2].Value = 1; {第二列的数据全部为1了}
就是说是可以的 但是可能设置dataGridview1.Rows[i].Cells[3].Value = 1; 就不是value=1 就可以把那个选择框选中了吧
只是举了个例子而已,你要自己设置哪一列啊 --------------------编程问答--------------------
//test
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn com = new DataGridViewCheckBoxColumn();
com.Name = "选择";
com.HeaderText = "选择";
DataTable tb2 = new DataTable();
tb2.Columns.Add("ID");
tb2.Columns.Add("课程名称");
tb2.Columns.Add("学分");
DataRow dr = tb2.NewRow();
object[] objs={"001","english","90"};
dr.ItemArray = objs;
tb2.Rows.Add(dr);
dataGridView1.DataSource = tb2;
dataGridView1.Columns.Add(com);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1.Rows[i].Cells[3].Value = 1;
}
}
首先非常感谢你 亲自帮我写了一段东西
然后我直接拿你的代码新键了一个datagriview 去运行了 发现还是选中不了
不知道你运行的时候能否被选中 --------------------编程问答--------------------
//test
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn com = new DataGridViewCheckBoxColumn();
com.Name = "选择";
com.HeaderText = "选择";
DataTable tb2 = new DataTable();
tb2.Columns.Add("ID");
tb2.Columns.Add("课程名称");
tb2.Columns.Add("学分");
DataRow dr = tb2.NewRow();
object[] objs={"001","english","90"};
dr.ItemArray = objs;
tb2.Rows.Add(dr);
dataGridView1.DataSource = tb2;
dataGridView1.Columns.Add(com);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1.Rows[i].Cells[3].Value = 1;
}
}
首先非常感谢你 亲自帮我写了一段东西
然后我直接拿你的代码新键了一个datagriview 去运行了 发现还是选中不了
不知道你运行的时候能否被选中
当然可以啊 --------------------编程问答--------------------
//test
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn com = new DataGridViewCheckBoxColumn();
com.Name = "选择";
com.HeaderText = "选择";
DataTable tb2 = new DataTable();
tb2.Columns.Add("ID");
tb2.Columns.Add("课程名称");
tb2.Columns.Add("学分");
DataRow dr = tb2.NewRow();
object[] objs={"001","english","90"};
dr.ItemArray = objs;
tb2.Rows.Add(dr);
dataGridView1.DataSource = tb2;
dataGridView1.Columns.Add(com);
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1.Rows[i].Cells[3].Value = 1;
}
}
首先非常感谢你 亲自帮我写了一段东西
然后我直接拿你的代码新键了一个datagriview 去运行了 发现还是选中不了
不知道你运行的时候能否被选中
当然可以啊
那就是我的问题了 唉 麻烦你了
补充:.NET技术 , C#