Ошибка DataGridView? Стиль ячейки InEdit не обновляется - PullRequest
0 голосов
/ 11 января 2011

В настоящее время у меня есть DataGridView, который в зависимости от определенных состояний строк (которые я определил как «новые», «измененные», «подлежащие удалению» и «нормальные») я размещаю строки в своей сетке с помощью кода, подобного следующему:

'Modified
 row.DefaultCellStyle.Font = New Font(row.DataGridView.Font, FontStyle.Regular)
 row.DefaultCellStyle.BackColor = Color.LemonChiffon
 row.DefaultCellStyle.ForeColor = Color.Empty

Я цепляюсь за различные события, чтобы выполнить это - и они срабатывают, когда я ожидаю их.

Моя проблема в том, что я использую My DataGridView в EditMode из EditOnEnter. Я сталкиваюсь с проблемой, что любая выбранная ячейка (и поэтому в режиме редактирования) не обновляется немедленно моим кодом изменения стиля. Пока я не покину выбранную ячейку для другой.

Вот пара скриншотов, которые показывают жизненный цикл этого выпуска:

Перед редактированием чего-либо

Before Editing

После изменения ячейки

alt text

После перехода на другую ячейку

alt text

Мой желаемый результат будет переходить от первого изображения - непосредственно к последнему изображению (без необходимости «вкладывать» из ячейки, которую я редактирую). Могу ли я что-нибудь сделать для этого?

Спасибо.

P.S. Я обычно пишу код на C #, поэтому я могу принять ответ на любом языке (этот проект просто так происходит в vb.net v2.0)

1 Ответ

0 голосов
/ 02 августа 2013

Я знаю, что это немного старо, но я некоторое время искал, чтобы найти ответ на этот вопрос, поэтому я думаю, что это может кому-то помочь в будущем:

Мне удалось решить эту проблему, добавив событие CellFormatting, чтобы «отменить выбор» ячейки при изменении формата.

this.DataGridView.CellFormatting += 
    (s, e) => { this.DateGridView.ClearSelection(); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...