所有 select /deselect 按钮

All select /deselect button

enter image description here我想在 datagridview 中创建 n 个 'all select' 按钮。 datagirdview 有复选框列。 如果我按下 Select All 按钮,我可以 select 整个 selection。 如果我再次按下 Select All 按钮,我想释放整个 selection。 我只能Select All,不能DeSelect All。 请帮助我:(

private void Btn_selectall_Click(object sender, EventArgs e)
    {           

        foreach (DataGridViewRow item in dataGridView1.Rows)
        {
            item.Selected = true;
            item.Cells[0].Value = true;
        }
    }

你可以像这样反转值

item.Selected = !item.Selected;
item.Cells[0].Value = !item.Cells[0].Value;

您可以尝试这样的操作:

private void Btn_selectall_Click(object sender, EventArgs e)
{
    if (dataGridView1.Rows.Cast<DataGridViewRow>().All(r => r.Selected))
    {
        // deselect all
        foreach (DataGridViewRow item in dataGridView1.Rows)
        {
            item.Selected = false;
            item.Cells[0].Value = false;
        }
    }
    else
    {
        // select all
        foreach (DataGridViewRow item in dataGridView1.Rows)
        {
            item.Selected = true;
            item.Cells[0].Value = true;
        }
    }
}