private void DataGridViewCellValidating(object sender, System.Windows.Forms.DataGridViewCellValidatingEventArgs e) { if (DataGridView[e.ColumnIndex, e.RowIndex].EditType == typeof(Controls.TextBoxExtended)) { Controls.TextBoxExtended control = DataGridView.EditingControl as Controls.TextBoxExtended; control.CheckValidation(e); } }
public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle) { base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle); Controls.TextBoxExtended control = DataGridView.EditingControl as Controls.TextBoxExtended; NjitTextBoxColumn column = (this.OwningColumn as NjitTextBoxColumn); foreach (var property in column.TextBoxExtended.GetType().GetProperties()) { var attributes = property.GetCustomAttributes(typeof(System.ComponentModel.CategoryAttribute), true); if (attributes.Length == 1 && ((System.ComponentModel.CategoryAttribute)attributes[0]).Category == "Njit" && property.CanRead && property.CanWrite) { property.SetValue(control, property.GetValue(column.TextBoxExtended, null), null); } } if (this.Value == null || this.Value == DBNull.Value) { control.Text = (this.OwningColumn as NjitTextBoxColumn).DefaultValue; } else { control.Text = this.Value.ToString(); } DataGridView.CellValidating += DataGridViewCellValidating; }