none
C# DataGridView ввод данных в ячейки как в TextBox RRS feed

  • Вопрос

  • Здравствуйте!

    Чтобы ввести какие-либо данные в ячейку таблицы DataGridView нужно два раза кликнуть на нее. Можно ли сделать так, чтобы поле для ввода было готово сразу, как это сделано в TextBox?

    Спасибо.

    23 июля 2012 г. 14:11

Ответы

  • Нашёл ту настройку.
    У таблицы есть свойство EditMode.
    Там выбери EditOnEnter.
    А ещё если не нравится что весь текст выделен сразу, то OnEdit можно обработать и что-то сделать.
    • Изменено INFEL8 24 июля 2012 г. 4:15
    • Помечено в качестве ответа nik_w 24 июля 2012 г. 6:53
    24 июля 2012 г. 4:11

Все ответы

  • можно, настройка где-то была.

    наврядли вспомню, года 2-3 назад делал.
    а если и нету настройки, просто Click событие на ячейке обработать можно, и зная на какую ячейку кликнули,
    сделать её текстбоксом, если можно как-то.
    если не найдёшь и не подскажут потом поищу может.

    23 июля 2012 г. 18:47
  • Например, так

    dataGridView1.CellEnter += (o, e) =>
    {
        dataGridView1.BeginEdit(false);
    };

    23 июля 2012 г. 18:48
  • Спасибо, попробую так сделать. Есть контрол, называется DataGridViewTextBoxEditingControl, как сказано в описании "Представляет элемент управления "Текстовое поле", который может быть размещен в System.Windows.Forms.DataGridViewTextBoxCell." Может быть это то, что нужно?
    23 июля 2012 г. 19:04
  • Нашёл ту настройку.
    У таблицы есть свойство EditMode.
    Там выбери EditOnEnter.
    А ещё если не нравится что весь текст выделен сразу, то OnEdit можно обработать и что-то сделать.
    • Изменено INFEL8 24 июля 2012 г. 4:15
    • Помечено в качестве ответа nik_w 24 июля 2012 г. 6:53
    24 июля 2012 г. 4:11
  • Спасибо, это именно то, что нужно.
    24 июля 2012 г. 6:54
  • по сути, это то же самое, что Petalvik предложил, только уже готовый вариант.
    24 июля 2012 г. 7:01