public override void DetachEditingControl() { System.Windows.Forms.DataGridView dataGridView = this.DataGridView; if (dataGridView == null || dataGridView.EditingControl == null) { throw new InvalidOperationException("Cell is detached or its grid has no editing control."); } AlphanumericTextBox editBox = dataGridView.EditingControl as AlphanumericTextBox; if (editBox != null) { editBox.ClearUndo(); // avoid interferences between the editing sessions } base.DetachEditingControl(); }
public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle) { base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle); AlphanumericTextBox editBox = this.DataGridView.EditingControl as AlphanumericTextBox; if (editBox != null) { editBox.BorderStyle = BorderStyle.None; string initialFormattedValueStr = initialFormattedValue as string; if (string.IsNullOrEmpty(initialFormattedValueStr)) { editBox.Text = ""; } else { editBox.Text = initialFormattedValueStr; } } }