gpt4 book ai didi

c# - 无法在 UI 上以编程方式选中或取消选中 DataGridViewCheckBoxColumn 单元格

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:50 24 4
gpt4 key购买 nike

我有一个 DataGridView,我在上面添加了一个 DataGridViewCheckBoxColumn。我还添加了两个按钮,一个用于选择所有复选框,一个用于取消选择所有复选框。

单元格单击和选择/取消选择所有按钮单独工作,但如果我用鼠标单击选择一个单元格(在 UI 上选中复选框)然后如果我按下取消全选按钮则不起作用复选框的值已更改,但 UI 上的复选框仍处于选中状态。

这是我的代码单元格点击

 private void dictionaryDataGrid_CellClick(object sender, DataGridViewCellEventArgs e)
{
if ((e.ColumnIndex == dictionaryDataGrid.Columns["ColSel"].Index) && (e.RowIndex >= 0))
dictionaryDataGrid.Rows[e.RowIndex].Cells["ColSel"].Value = !(bool)(dictionaryDataGrid.Rows[e.RowIndex].Cells["ColSel"].Value == null ? false : dictionaryDataGrid.Rows[e.RowIndex].Cells["ColSel"].Value);

}

按钮全选:

 private void btn_selAll_Click(object sender, EventArgs e)
{
for (int i = 1; i <= dictionaryDataGrid.Rows.Count; i++)
{
dictionaryDataGrid.Rows[i - 1].Cells["ColSel"].Value = true;
}
}

按钮取消全选:

private void btn_unselAll_Click(object sender, EventArgs e)
{
for (int i = 1; i <= dictionaryDataGrid.Rows.Count; i++)
{
dictionaryDataGrid.Rows[i - 1].Cells["ColSel"].Value = false;
}
}

最佳答案

试试这个:

    private void btn_unselAll_Click(object sender, EventArgs e)
{
dictionaryDataGrid.ClearSelection();

foreach (DataGridViewRow row in dictionaryDataGrid.Rows)
{
((DataGridViewCheckBoxCell)row.Cells["ColSel"]).Value = false;
}
}

关于c# - 无法在 UI 上以编程方式选中或取消选中 DataGridViewCheckBoxColumn 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26336627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com