如何确定选中了数据视图中的哪些单元格

本文关键字:单元格 视图 数据 何确定 | 更新日期: 2023-09-27 18:10:24

我的datagridview有2列。第0列包含位于关闭位置(默认)的复选框。用户可以点击方框,更改状态或勾选。

如何循环遍历并找到已检查的项。这是我的代码

try
{
   // This line will cause InvalidCastException
   // Specified cast is not valid.
   if ((bool)(row.Cells[0]).Value || (CheckState)row.Cells[0].Value == CheckState.Checked)
   {
      // Do something
      MessageBox.Show("Checked");
   }
}
catch (NullReferenceException nre)
{
   MessageBox.Show("No Rows Have Been Checked");
}

如何确定选中了数据视图中的哪些单元格

怎么样:

foreach(DataGridViewRow row in dataGridView.Rows){
    if (row.Cells[0].Value != null && (bool)row.Cells[0].Value){
       //checked, do something
    }
}

查看这个答案的一行代码:

List<DataGridViewRow> list = DataGridView1.Rows.Cast<DataGridViewRow>().Where(k => Convert.ToBoolean(k.Cells[CheckBoxColumn1.Name].Value) == true).ToList();

这将给你一个列表,其中包含所有选中复选框的行。