c# – 只允许在DataGridView中选中一个复选框

我有一个datagridview填充数据库中的数据.第一列是一个checkboxcolumn(从数据库中检索的此列的数据是BIT类型),我希望用户只检查一个.如果用户选择其他一个,则必须取消选中第一个.

我看过很多代码而且都没有用.

我能做什么?

是一个带有SQL SERVER的Winforms C#应用程序.

最佳答案

private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
   // Whatever index is your checkbox column
   var columnIndex = 0;
   if (e.ColumnIndex == columnIndex)
   {
      // If the user checked this box, then uncheck all the other rows
      var isChecked = (bool)dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
      if (isChecked)
      {
         foreach (DataGridViewRow row in dataGridView.Rows)
         {
            if (row.Index != e.RowIndex)
            {
               row.Cells[columnIndex].Value = !isChecked;
            }
         }
      }
   }
}
点赞