我有一个datagridview
我已经包含了几个验证,比如单元格值不为空,单元格值应该在 (1,9) 的范围内。我还想确保只有在整个datagridview
填充了有效值之后才启用计算按钮。
如果单元格值不为空,我尝试使用foreach
并检查其中的行和单元格,但在检查一个单元格后立即启用按钮。检查每行中的最后一个单元格也不起作用,因为用户可以按任何顺序填充值,我们应该尝试跟踪所有单元格都被填充的点,然后启用按钮。如果它们没有被填充,我们必须立即禁用按钮。有没有办法只有在所有单元格都相应地填充和验证时才能启用按钮。
下面是我的代码。我对 C# 有点陌生,我也想知道我是否使用正确的datagridview
事件来实现这一点。不是循环遍历每一行和单元格来查找值,是否有一种有效的方法可以一次性查找所有单元格是否都已填充?
Cal.Enabled = false;
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;
}
}
}
}