单击datagridview中的复选框时启用按钮?

Posted

技术标签:

【中文标题】单击datagridview中的复选框时启用按钮?【英文标题】:Enabling button when checkbox in datagridview is clicked? 【发布时间】: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;
                

            
        

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

【问题讨论】:

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

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

【讨论】:

以上是关于单击datagridview中的复选框时启用按钮?的主要内容,如果未能解决你的问题,请参考以下文章

DataGridView 和复选框自动重新选择

jQuery:在按钮单击事件上启用复选框(带有标签)

如何在按钮单击时更新datagridview中的记录?

单击禁用按钮时生成警报窗口

使用 Angular 只需单击一次复选框即可启用所有复选框

如何以编程方式定义 datagridview 中的列?