Ячейка Datagridview, выбранная после ClearSelection - PullRequest
5 голосов
/ 02 июля 2011

Я был разочарован этим странным поведением DataGridView.

При указании данных одна ячейка выделяется, даже если сетка не имеет фокуса.Я принял некоторые обходные пути, подобные этому

this.ActiveControl = textBoxPartySearch;
 dataGridView1.Refresh();
 dataGridView1.ClearSelection();
 dataGridView1.CurrentCell = null;
 e.Handled = true;

, как предложено в этом моем вопросе: Удалить строку синего цвета из DataGridView WinForms

Но этот обходной путь иногда не работаети запутывание кода.

Есть ли еще какие-либо бесплатные доступные таблицы данных, у которых нет этой проблемы?

Ответы [ 4 ]

2 голосов
/ 06 марта 2013

Это работает для меня:

В конструкторе, после того как привязка установлена, добавьте обработчик к событию DataBindingComplete:

dgvCommandos.DataSource = systeemCommandos; // = my List<> of objects
dgvCommandos.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(dgvCommandos_DataBindingComplete);

Обработчик:

void dgvCommandos_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
    dgvCommandos.ClearSelection();
}

Если вы намереваетесь выбрать строку (например, после добавления / вставки нового объекта), просто установите:

dgvCommandos.Rows[insertPos].Selected = true;
2 голосов
/ 10 октября 2012

У меня была эта проблема, и мне удалось ее решить, добавив myDataGridView.ClearSelection(); в конце каждого закодированного события.

В начале достаточно было просто иметь ее в конце моего DataBind() метода.Затем я добавил некоторые пользовательские поведения для рисования строк и прочего, и он перестал работать (т. Е. Всегда был выбран первый ряд).

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

0 голосов
/ 11 апреля 2012
gvDataSources.CurrentCell.IsCurrent=false;
gvDataSources.CurrentRow.IsCurrent = false;
0 голосов
/ 21 ноября 2011

Измените способ привязки сетки.

Сначала подготовьте таблицу данных, а затем назначьте ее для сетки данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...