2 u011382188 u011382188 于 2014.12.15 18:54 提问

C#DataGirdView的datagridviewCheckedboxcloumn动态改变状态

我添加了一个datagridview,里面有一个多选框,我希望在点击多选框的时候提示判断,是否选中此行,
如果点击是,多选框打钩,如果不是,就不打钩,现在我点击出来提示了,但是不管点击是或不是都打钩了,但是多选框的值是对的,那么怎样能够让他选中和不选中呢?

2个回答

devmiao
devmiao   Ds   Rxr 2014.12.15 18:56

贴出你的代码来。。。

u011382188
u011382188 我的代码和你楼下的差不多,但在程序运行的时候还是没有将选中的钩去掉
大约 3 年之前 回复
u011353570
u011353570   2014.12.15 21:51
    private void Form1_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < 10; i++)
        {
            dataGridView1.Rows.Add();
            int n = dataGridView1.Rows.Count;
            dataGridView1.Rows[n - 1].Cells[0].Value = i;
            dataGridView1.Rows[n - 1].Cells[1].Value = i % 2 == 0 ? true : false;//这一列存的是true或者false,,,是勾选框
            dataGridView1.Rows[n - 1].Selected = false;
        }
    }


    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        int n1 = e.RowIndex;
        int n2 = e.ColumnIndex;
        if (n2 == 1)
        {
            if (MessageBox.Show("是否选中该行?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) ==
                DialogResult.Yes)
            {
                dataGridView1.Rows[n1].Selected = true;
                dataGridView1.Rows[n1].Cells[n2].Value = true;

            }
            else
            {
                dataGridView1.Rows[n1].Selected = false;
                dataGridView1.Rows[n1].Cells[n2].Value = false;
            }
        }
    }
u011353570
u011353570 单元格中的勾勾没有去掉么,这个值就是设置的true或者false改变的呀
大约 3 年之前 回复
u011382188
u011382188 我的意思不是选中这一行,而是改变他的选中状态,你这个是设置了他的值,但是在程序运行的时候那个钩还是没有去掉
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!