Иногда, в зависимости от задач необходимо ограничить ввод значений в определённый столбец только числами, плюс пару спец символов. Это реализуется следующим образом:
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!!!
несколько записей могу написать, а потом ничего кроме цифр не дает ввести в поле для текста