Иногда, в зависимости от задач необходимо ограничить ввод значений в определённый столбец только числами, плюс пару спец символов. Это реализуется следующим образом:
private void grid_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (grid.CurrentCell.ColumnIndex == 1) { TextBox tb = (TextBox)e.Control; tb.KeyPress += new KeyPressEventHandler(tb_KeyPress); } else { TextBox tb = (TextBox)e.Control; tb.KeyPress -= tb_KeyPress; } } void tb_KeyPress(object sender, KeyPressEventArgs e) { if ((!Char.IsNumber(e.KeyChar) && (e.KeyChar != '-') && (e.KeyChar != ','))) { if ((e.KeyChar != (char)Keys.Back) || (e.KeyChar != (char)Keys.Delete)) { e.Handled = true; } } }
В данном примере в колонку 1 доступны для ввода только цифры и знаки ‘-‘ и ‘,’
не работает добавление в dg!!!
несколько записей могу написать, а потом ничего кроме цифр не дает ввести в поле для текста