我们如何禁用常规按钮,直到整个dataGridView完全用C#中的有效值填充

问题描述 投票:1回答:1

我有一个datagridview,其中包括了两个验证,例如单元格值不为空,并且单元格值应在(1,9)范围内。但是我还想确保只有在整个datagridview中都填充了有效值之后,才启用计算按钮。我尝试使用foreach和for来检查cellvalue是否不为空,但是第一次迭代后立即启用了该按钮。只有在所有单元格均已填充并进行相应验证的情况下,才可以启用按钮吗?

下面是我的代码。我对C#有点陌生,我也想知道我是否正在使用正确的datagridview事件来实现这一目标。

private void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            int r = e.RowIndex;
            int c = e.ColumnIndex;
foreach (DataGridViewRow row in dataGridView.Rows)
            {
                foreach (DataGridViewCell cell in row.Cells)
                {
                    if ((cell.Value != null) || cell.Value != DBNull.Value || !(String.IsNullOrEmpty(cell.Value.ToString())))
                    {
                        Cal.Enabled = true;
                    }
                }

            }
        }
c# datagridview datagridviewcolumn datagridviewrow
1个回答
0
投票

您需要在条件中使用“ AND”而不是“ OR”。尝试

if ((cell.Value != null) && cell.Value != DBNull.Value && !(String.IsNullOrEmpty(cell.Value.ToString())))
                    {
                        Cal.Enabled = true;
                    }
© www.soinside.com 2019 - 2024. All rights reserved.