У меня есть datagridview
, для которого я включил пару проверок, например, значение ячейки не пусто, и значение ячейки должно быть в диапазоне (1,9). Я также хотел убедиться, что кнопка вычисления включена только после того, как весь datagridview
заполнен действительными значениями.
Я пытался использовать foreach
и проверять строки и ячейки внутри него, если значение ячейки не пустое, но кнопка включается сразу после проверки одной ячейки. Проверка последней ячейки в каждой строке также не работает, поскольку пользователь может заполнять значения в любом порядке, и мы должны попытаться отследить точку, когда все ячейки заполнены, и сделать кнопку включенной. Если они не заполнены, мы должны немедленно отключить кнопку. Есть ли способ, которым я могу включить кнопку, только если все ячейки заполнены и проверены соответственно.
Ниже мой код. Я немного новичок в C#, я также хотел знать, использую ли я правильное событие datagridview
для достижения этой цели. Вместо того, чтобы циклически проходить по каждой строке и ячейке, чтобы найти значение, существует ли эффективный способ узнать, заполнены ли все ячейки или нет - go?
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;
}
}
}
}