C# DataGridView里的DataGridViewCheckBoxColumn操作

2024-01-11 03:30:56
推荐回答(3个)
回答1:

我理解你的意思是:
只要选中一个,其余的就不可以再选了。
不知道你是Winform还是web的?

我要说的是winform的:
首先,绑定DataGridView的某列是bit型的应该知道,就是说在DataGridView显示的CheckBox框的字段应该知道,我这里设其为“AA”.

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
this.dataGridView1.AllowUserToAddRows = false;//这句话在窗体加载时加上也行,也可以修改属性
for (int i = 0; i < this.dataGridView1.RowCount; i++)
{
if (this.dataGridView1.Rows[i].Cells["AA"].Value.ToString() == "True")
{
this.dataGridView1.Columns["AA"].ReadOnly = true;
}
}
}

注:不知道这个意思是否和你说的一样?我的基本思路就是:在改变checkbox值的时候,只要有一个是选中,其余的就不可用,如果想可以用的话再设置为False就行。

回答2:

至于你说的。。可以用javascript实现
变通方法
每一列加一个模板列。内放一个radiobutton

汗。。是窗体的。。。那遍历一次就OK了~

回答3:

没有!!MS就没设计单选,要不你自己在后台控制,要么用别的控件吧

后台代码的话,其实就是每次遍历,做相应处理