winform中datagridview中的checkbox选中问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:42:41
我在datagridview中的checkbox列,然后绑定数据后,其中有两列 quantity1 和quanlity2 ,现在要判断怎么选中的问题

1、当该行quantity1 = 0 时,点击该checkbox后,弹出对话框,提示不能选中。该checkbox点击后仍没有选中;

2、当该行quantity1>0 时,弹出对话框,让用户选择一个数,然后返回更新quanlity2。该checkbox选中。

3、当该checkbox已选中,然后再点击,则变为没有选中。

我现在已经实现问题3了,也能判断该checkbox是否为选中。但是如问题1,不管我怎么设置,它还是会选中。
对于问题2,我点击后,会选中,可是当quanlity2更新后,就变为没有选中了。 每次需要点击两次,才能改变选中状态....

然后感觉 this.datagridview1.row[e.rowindex].cell["check_column"].value=true 或者false 没有用。你只要点击了,它会自己赋值,你的赋值不起作用
请高手指点,一定高分相赠
谢谢大家,问题解决了,原因就是没有把checkboxcolumn设置为readonly,我说怎么赋值不起作用呢。

大家都答对了,不过没有办法可以把分数给每一个人。我这有给回答最详细的那位了。
最后不管怎么样,还是谢谢大家的热心

相信你的datagridview1已经设置好了

第一步 设置check_column.ReadOnly=true

第二步 添加dataGridView1.CellEnter事件

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
int n = e.RowIndex;
if (e.ColumnIndex == 0)
{
if (dataGridView1.Rows[n].Cells[1].Value.ToString() == "a")
{
dataGridView1.Rows[n].Cells[0].Value = true;
}
else
{
dataGridView1.Rows[n].Cells[0].Value = false;
}
}
}

上面的是我的程序里面的代码,虽然判断条件不一样,但大同小异。

我的程序运行成功。

这里你的第三个问题可能要改掉,你可以先判断你的value是否为true然后再赋值

第一个问题很好解决只要把我上面代码中的"a"换成"0"然后show一个MessageBox就可以了,第二个问题同理。

我想你自己没处理好的关键一步肯定是没设置check_column.ReadOnly.

祝你成功
欢迎交流。