闪开我要上天了
2021-07-27 19:01
采纳率: 50%
浏览 26

判断DataGridView所有行的的CheckBox是否有被选中

代码如下,为什么执行得时候只判断了第一行?

for (int i = 0; i < dataGridView.Rows.Count; i++)
{
if ((bool)dataGridView.Rows[i].Cells[0].EditedFormattedValue == true)
{

}
else

  • 收藏

2条回答 默认 最新

  • CSDN专家-showbo 2021-07-27 21:33
    已采纳

    默认一个变量标记为全选(true),然后遍历存在一个未选中设置变量为false,break停止循环。有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~

    代码如下

    
                var allChecked = true;
                for (var i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    var row = dataGridView1.Rows[i];
                    if ((bool)row.Cells[0].EditedFormattedValue == false)
                    {
                        allChecked = false;
                        break;
                    }
                }
                MessageBox.Show(allChecked ? "已全选!" : "未全部选中!");
    
    
    1 打赏 评论
  • 代码不完整,看不到,
    dataGridView.Rows[i].Cells[0].EditedFormattedValue返回的应该是Id,状态才是true或false

    打赏 评论

相关推荐 更多相似问题