【问题标题】:Enabling button when checkbox in datagridview is clicked?单击datagridview中的复选框时启用按钮?
【发布时间】:2018-02-21 01:37:53
【问题描述】:

正如标题所示,我的代码旨在检测是否在 datagridview 上选中了至少一个复选框。如果有,将启用一个按钮。如果不是,则 enabled 属性变为 false。

public void validatecheck(object sender, DataGridViewCellEventArgs e)
    {
        var senderGrid = (DataGridView)sender;

        if (senderGrid.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn && e.RowIndex >= 0)
        {

            foreach (DataGridViewRow row in dtgeducation.Rows)
            {
                if (Convert.ToBoolean(row.Cells[e.ColumnIndex].Value) == true)
                {
                    btnaddclass.Enabled = true;

                    break;
                }

                else
                {
                    btnaddclass.Enabled = false;
                }

            }
        }

此代码仍然无法正常工作。也许我忽略了一个重要的部分。任何帮助是极大的赞赏。 :)

【问题讨论】:

  • 我投票结束这个问题,因为“为什么这段代码不起作用?”问题与 StackOverflow 无关。
  • 您是否使用调试器单步执行了代码?
  • Not working 是什么意思?你有错误吗?你看到了什么意外的行为?你试过调试代码吗?
  • @ chetanranpariya不起作用,我的意思是在检查DataGridView中的一个复选框时不会启用按钮。没有错误警告或任何东西。我之前尝试使用 DataGridViewCheckboxCell 调试代码,但它几乎没有工作。勉强,它指的是该复选框仅在有限的时间内起作用。如果多次单击该复选框,则该按钮将永久禁用。

标签: c# datagridview


【解决方案1】:

我会将视图模型中的 bool 属性绑定到复选框上的 IsChecked 属性,然后分配该属性的值以更新按钮的 Enabled 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2015-06-06
    • 1970-01-01
    相关资源
    最近更新 更多