2009-03-26 6 views
6

Детские катки ... У меня есть форма с сеткой данных, привязанной к таблице. У меня есть текстовые поля в форме, привязанной к таблице [columns], так как я прокручиваю сетку, текстовые поля показывают соответствующие данные.WinForms C# DataGridView force refresh

Я перехожу в «Режим редактирования» текстовых полей и меняю контент и нажимаю кнопку «Сохранить». Сетка не обновляет измененный контекст, пока я физически не щелкнул по ячейке, которая заставляет вызов таблиц OnChanging и OnChanged событий ...

Как я могу заставить любое событие «промыть» таблицу в конце мое редактирование и обновить его в datagridview.

Thanks

ответ

10

Вы пробовали использовать метод Invalidate dataGridView?

this.dataGridView1.Invalidate(); 
+0

Мой плохой. Событие кнопки Click на уровне кнопки никогда не запускалось напрямую, так как я использовал пользовательский класс с поведением метода по умолчанию. После того, как вы приспособились к этому, он работает отлично ... Однако я сделал InvalidateROW для одной записи. благодаря – DRapp

1

Вы используете BindingSource? Если это так, вызовите его метод EndEdit в событии LeaveBox TextBox.

+0

Без воздействия. Как сетка (очевидно), так и текстовые поля привязаны к экземпляру DataTable, но, похоже, я не могу заставить отображать таблицы «OnChanging»/«OnChanged», что происходит, когда я повторно кликнул в сетке вручную после сохранения редактировать. – DRapp

Смежные вопросы