datagridviewCheckboxColumn问题

2024-07-30 00:56:38
推荐回答(1个)
回答1:

你好!
1.checkbox原意本来就不是用来单选的,所以要单选只能用代码控制了,我这随手写了个了,在
dataGridView1_CellClick事件里写的,代码实例如下:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//这边是实现单选的
if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].GetType() == typeof(DataGridViewCheckBoxCell))
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1.Rows[i].Cells[e.ColumnIndex].Value = false;
}
bool flag = (bool)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = !flag;
}
///////////////////////////////////
}
2.保存选定项的值时要把值插入其他数据库还是什么的,我下面的例子是把值放到了一个object数组里,其他的自己看着操作宏模散,在当前蔽氏页面的一个button事件里
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
DataGridViewCheckBoxCell check = dataGridView1.Rows[i].Cells[0] as DataGridViewCheckBoxCell;
if (check.Value != null)
{
if ((bool)check.Value)
{
object[] item = new object[]
{
dataGridView1.Rows[i].Cells[1].Value.ToString(),
dataGridView1.Rows[i].Cells[2].Value.ToString(),
};
//在这边对当期码雀选择的item数组一行一行的操作
//do something!
}
}
}