Обновить содержимое DataGridView, привязанного к данным

as

Всем привет! Помогите пожалуйста разобраться... На форме есть dataGridView1, которая отображает содержимое таблицы. На другой форме я создаю новую запись в таблицу, и она сразу появляется в БД. Теперь надо обновить содержимое dataGridView1, создал кнопку "Обновить" и в обработчике написал:
dataGridView1.Refresh();
Но почему-то не хочет обновляться. Если закрыть форму, а потом опять открыть то овсе нормально. Почему не работает dataGridView1.Refresh();??? Может что-то неправильно написал?
4 ответа

as

а какой datasourse?


as

Всё потому, что твой DataGridView отображает только то, что у тебя содержится в DataSet, к которому он привязан. Получается так: 1) Ты загружаешь форму 2) Загружается Dataset, куда попадают данные которые содержатся в таблице базы на текущий момент 3) Изменяешь данные в таблице базы из другой формы 4) Делаешь Refresh на этой форме (но DataSet содержит всё те же самые данные, которые в него были загружены на момент его первоначальной загрузки) 5) Закрываешь форму 6) Открываешь по новой, и в DataSet попадают данные уже на этот момент времени (изменённые тобой с другой формы)Как вариант можно перезаливать по новой данные, находящиеся в DataSet, и тогда DataGridView будет изменяться автоматически безо всякого Refresh


as

Спасибо, все понятно обьяснили. В обработчике кнопке написал
   myDataSet.Clear();
оно все очистилось, а как заново считать с БД ???


as

TableAdapter.Fill(myDataSet, "имя_таблицы");