DataGridView ввод только чисел

Иногда, в зависимости от задач необходимо ограничить ввод значений в определённый столбец только числами, плюс пару спец символов. Это реализуется следующим образом:

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 доступны для ввода только цифры и знаки ‘-‘ и ‘,’

One Reply to “DataGridView ввод только чисел”

  1. не работает добавление в dg!!!
    несколько записей могу написать, а потом ничего кроме цифр не дает ввести в поле для текста

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *