如何将datagridview中的多个checkBox设置为单选

来源:互联网 发布:VB中Picture 编辑:程序博客网 时间:2024/06/17 02:08

 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Rows.Count <= 0)
            {
                return;
            }
            bool a = (bool)dataGridView1.CurrentRow.Cells[1].EditedFormattedValue;
            bool b = (bool)dataGridView1.CurrentRow.Cells[2].EditedFormattedValue;
            bool c = (bool)dataGridView1.CurrentRow.Cells[3].EditedFormattedValue;
            if (e.ColumnIndex == 1 && e.ColumnIndex != -1 && a == true)
            {
                dataGridView2.Rows.Clear();
                dataGridView1.CurrentRow.Cells[2].Value = false;
                dataGridView1.CurrentRow.Cells[3].Value = false; 
            }
            if (e.ColumnIndex == 2 && e.ColumnIndex != -1 && b == true)
            {
                dataGridView1.CurrentRow.Cells[1].Value = false;
                dataGridView1.CurrentRow.Cells[3].Value = false;
                selectSLabelNo(dataGridView1.CurrentRow.Cells["Column1"].Value.ToString());
            }
            if (e.ColumnIndex == 3 && e.ColumnIndex != -1 && c == true)
            {
                dataGridView2.Rows.Clear();
                dataGridView1.CurrentRow.Cells[1].Value = false;
                dataGridView1.CurrentRow.Cells[2].Value = false; 
            }
            if ((e.ColumnIndex == 1 || e.ColumnIndex == 2 || e.ColumnIndex == 3) && e.ColumnIndex != -1 && a == false && b == false && c == false)
            {
                dataGridView2.Rows.Clear();
                dataGridView1.CurrentRow.Cells[1].Value = true;
                dataGridView1.CurrentRow.Cells[2].Value = false;
                dataGridView1.CurrentRow.Cells[3].Value = false;
            }
        }

其中cells[1].cells[2],cells[3]为三个checkBox选择框,然后为了美观,当鼠标up时,更改数据

 private void dataGridView1_MouseUp(object sender, MouseEventArgs e)
        {
            dataGridView1.EndEdit();
        }

0 0