Prathap Gangireddy Ответов: 3

Как установить фокус на определенную ячейку в Datagridview


Привет,

Ниже приведен код для установки фокуса на определенную ячейку в gridview, но он не работает.

dtEmployeeDocumentDetails = objEmployeeMasterBusiness.GetAllEmployeeDocumentDetails();
DataGridViewCheckBoxColumn chk = новый DataGridViewCheckBoxColumn();
gvEmpDocDetails.Столбцы.Добавить (chk);
ЧК.HeaderText = " Select";
ЧК.Name = " chkselect";
gvEmpDocDetails.AllowUserToAddRows = false;
gvEmpDocDetails.Источник данных = dtEmployeeDocumentDetails;
DataGridViewButtonColumn btn = новый DataGridViewButtonColumn();
БТН.Name = " btnDeleteEmpDocument";
БТН.HeaderText = " Удалить";
gvEmpDocDetails.Столбцы.Добавить (btn);
gvEmpDocDetails.Столбцы[1]. Visible = false;
gvEmpDocDetails.Столбцы[4]. Visible = false;
gvEmpDocDetails.Столбцы[5]. Visible = false;
gvEmpDocDetails.Столбцы[6]. Visible = false;
gvEmpDocDetails.Столбцы[8]. Visible = false;
gvEmpDocDetails.Столбцы[12]. Visible = false;
gvEmpDocDetails.Строки[2].Ячейки[0].Selected = true;

Не могли бы вы дать мне знать, как установить фокус на ячейку, чтобы код, написанный в моем событии щелчка ячейки, работал нормально при загрузке форм.

Спасибо.

3 Ответов

Рейтинг:
20

Sergey Alexandrovich Kryukov

Прежде всего, нет фокуса на клетке. Фокус - это всегда фокус клавиатуры; это атрибут элемента управления, а не какой-либо его части. То,что вам нужно, - это выбор, который не связан с фокусом.

Кроме того, результат подбора зависит от стиля подбора вашего DataGridView Пожалуйста, смотрите DataGridViewSelectionMode:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.selectionmode.aspx[^],
http://msdn.microsoft.com/en-us/library/3c89df86.aspx[^].

Вам понадобится System.Windows.Forms.DataGridViewSelectionMode.CellSelect.

—СА


Рейтинг:
1

Jibesh

Существует еще один простой способ выбора ячейки. путем установки элемента управления datagridview.CurrentCell.
напр.;

this.dataGridView1.CurrentCell = this.dataGridView1.Rows[1].Cells[2];


Prathap Gangireddy

Привет Джибеш,

Я попробовал в форме load event...но это не работает...все равно первый раз ..Выбрана ячейка FirstColumn..

Jibesh

был ли он вызван после того, как все строки загружены в сетку?

Jibesh

Я попробовал тот же код, и он отлично работает. Я вызвал этот метод в событии Form_Load после назначения dataTable в качестве источника данных dgv.

Рейтинг:
0

benson ndirangu

Grid1.Focus()
 Grid1.CurrentCell = Grid1.Rows(1).Cells(3)


CHill60

Этот вопрос был задан и на него был дан ответ более 4 лет назад. Вы не добавили ничего нового в эту тему