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 ProceedUpdate() { foreach (KeyValuePair <int, int> cellCoords in CellsUpdated.Keys) { DataTable table = (DataTable)dataGridView.DataSource; // Проверка на корректность содержимого полей FieldsValidator validator = new FieldsValidator(); if (!validator.CheckField(table.Columns[cellCoords.Value], CellsUpdated[cellCoords])) { continue; } string columnName = table.Columns[cellCoords.Value].ColumnName; string newValue = CellsUpdated[cellCoords]; // Изменить поля с датой в соответствие формату в БД if (table.Columns[columnName].DataType.Name.Equals("DateTime")) { newValue = validator.ConvertToPostgreSQLDate(newValue); } if (table.Columns.Contains("id")) { UpdateOneValueWithAnyColumn(table.TableName, columnName, newValue, "id", dataGridView.Rows[cellCoords.Key].Cells[table.Columns.IndexOf("id")].Value.ToString()); } if (table.TableName.Equals("department") || table.TableName.Equals("hall")) { UpdateOneValueWithAnyColumn(table.TableName, columnName, newValue, "name", dataGridView.Rows[cellCoords.Key].Cells[table.Columns.IndexOf("name")].Value.ToString()); } } }
private IList <string> GetValues() { FieldsValidator validator = new FieldsValidator(); IList <string> values = new List <string>(); string newValue; DataColumn column; TextBox[] textBoxes = personalDataPage.Controls.OfType <TextBox>().ToArray(); Label[] labels = personalDataPage.Controls.OfType <Label>().ToArray(); for (int i = 0; i < textBoxes.Length; i++) { newValue = textBoxes[i].Text.Trim(); column = Table.Columns[Table.Columns.IndexOf(labels[i].Text)]; if (!validator.CheckField(column, newValue)) { MessageBox.Show(string.Format("Поле '{0}' заповнене невірно.", Table.Columns[labels[i].Text].ColumnName), "Уважаемый пользователь!", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } if (string.IsNullOrEmpty(newValue)) { values.Add("DEFAULT"); } else { values.Add(" '" + newValue + "'"); } } return(values); }
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; } }
public void Book() { DataTable table = (DataTable)dataGridView.DataSource; StringBuilder values; string currentDate; foreach (DataGridViewRow row in dataGridView.SelectedRows) { values = new StringBuilder(); currentDate = DateTime.Now.ToString(); currentDate = new FieldsValidator().ConvertToPostgreSQLDate(currentDate.Substring(0, currentDate.IndexOf(' '))); values.Append(row.Cells[table.Columns.IndexOf("id")].Value).Append(", ") .Append(ClientID).Append(", '") .Append(currentDate).Append("', ").Append("DEFAULT"); InsertOneWithId("book_reader", values.ToString()); } MessageBox.Show("Бронювання було успішно виконано.", "Шановний користувач!", MessageBoxButtons.OK, MessageBoxIcon.Warning); CurrentOperation = Operation.None; }
private string GetValues(TextBox[] textBoxes) { Label[] labels = Controls.OfType <Label>().ToArray(); FieldsValidator validator = new FieldsValidator(); StringBuilder values = new StringBuilder(); string newValue; DataColumn column; for (int i = 0; i < textBoxes.Length; i++) { newValue = textBoxes[i].Text.Trim(); column = Table.Columns[Table.Columns.IndexOf(labels[i].Text)]; if (!validator.CheckField(column, newValue)) { MessageBox.Show(string.Format("Поле '{0}' заповнене невірно.", Table.Columns[labels[i].Text].ColumnName), "Уважаемый пользователь!", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } // Изменить поля с датой в соответствие формату в БД if (column.DataType.Name.Equals("DateTime")) { newValue = validator.ConvertToPostgreSQLDate(newValue); } if (string.IsNullOrEmpty(newValue)) { values.Append(" DEFAULT"); } else { values.Append(" '").Append(newValue).Append("'"); } if (i + 1 < textBoxes.Length) { values.Append(","); } } return(values.ToString()); }