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

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

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

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

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

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и соглашаюсь c политикой конфиденциальности *