DataGridView Редактирование ячеек - PullRequest
4 голосов
/ 22 февраля 2011

Привет
У меня есть DataGridView, который связан с источником XML.

  1. У меня проблема с редактированием ячеек. Ячейка по щелчку становится выделенной, и когда она редактируется, по умолчанию мы перезаписываем ее. Мое требование говорит, что оно должно быть готово для редактирования и не выбрано при нажатии.
  2. Я хочу генерировать строку динамически при каждом нажатии клавиши «Tab».

Как мне этого добиться?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2011

Если я правильно вас понимаю, вы хотите, чтобы ячейка вошла в режим редактирования, как только она будет нажата. Этого можно достичь, установив для свойства EditMode объекта DataGridView значение EditOnEnter. Это оставляет текст в элементе управления редактирования выбранным, поэтому, если вы не хотите, чтобы вы могли использовать:

dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
        dataGridView1.BeginEdit(false);
}

Можете ли вы объяснить, что вы подразумеваете под динамическим добавлением строки?

2 голосов
/ 22 февраля 2011

По вопросу 1)

Вы можете попробовать это:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            this.dataGridView1.CellEnter += new DataGridViewCellEventHandler(myDataGrid_CellEnter);
        }
        void myDataGrid_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            if ((this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewTextBoxColumn) ||
                (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn))
            {
                this.dataGridView1.BeginEdit(false);
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...