private void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { DataTable table = (DataTable)dataGridView.DataSource; string newCellValue = e.FormattedValue.ToString(); // Оповещение про несоответствие содержимого поля шаблону FieldsValidator validator = new FieldsValidator(); if (!validator.FieldMatchPattern(table.Columns[e.ColumnIndex], newCellValue)) { dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "Поле не відповідає шаблону"; } // Оповещение про незаполненное поле else if (!validator.FieldMathcNullRequirement(table.Columns[e.ColumnIndex], newCellValue)) { dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "Дане поля не можна залишати порожнім"; } // Очищаем сообщение об ошибке else { dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = null; } }
private void dataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { DataTable table = (DataTable)dataGridView.DataSource; FieldsValidator validator = new FieldsValidator(); if (CurrentOperation == Operation.Update && !validator.FieldMathcNullRequirement(table.Columns[e.ColumnIndex], e.Value.ToString())) { e.Value = "Ошибка!"; e.ParsingApplied = true; } }