Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.63
Dexs
414 / 282 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
#1

Обновить DatagridView из другой формы... - C#

17.08.2009, 22:14. Просмотров 5149. Ответов 6
Метки нет (Все метки)

Заполняю DataGridView нажатием на кнопку таким образом:
C#
1
2
3
4
 DBMediaCatalogDataSet.АудиозаписиDataTable dt = new DBMediaCatalogDataSet.АудиозаписиDataTable();
            DBMediaCatalogDataSetTableAdapters.АудиозаписиTableAdapter ta = new MediaCatalog.DBMediaCatalogDataSetTableAdapters.АудиозаписиTableAdapter();
            ta.Fill(dt);
            dataGridView1.DataSource = dt;
Изменения в БД вношу через форму Form2. Как реализовать обновление DataGridView сразу после закрытия Form2?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2009, 22:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Обновить DatagridView из другой формы... (C#):

Обновить данные DataGridView из другой формы - C#
Здрасте всем.Я здесь в первый раз так что сразу прошу прощения если такой вопрос уже был на форуме. Вобщем задача тривиальная,но у меня...

Обновить datagridview из другой формы после запроса - C#
Добрый вечер. Подскажите пожалуйста как можно обновит datagridview из другой формы после запроса. Пытаюсь сделать фильтрацию по записям...

Обновить datagridview после внесение изменений в БД с другой формы - C#
Всем привет. Имею 2 формы: 1-я отображает в dgv данные, 2-я принимает выбранную строку для удаления, обновления и добавляет новые...

Обновить DataGridView первой формы из второй - C#
Здравствуйте ув. форумчане! Помогите пожалуйста, так как опыта мало прошу сильно не судить! У меня есть две формы: На первой(Form1)...

Обновить GridView с другой формы - C#
Всем привет! ГридВью на form1 а form2 окно для добавления информации. Как обновить gridview с другой формы?Че то никак не получается ..

Не получается обновить combobox из другой формы - C#
Здравствуйте, не получается обновить combobx (txtLogin) первой формы (LoginForm) из второй формы (RegForm). Combobox берет данные из...

6
Green
1918 / 423 / 11
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
18.08.2009, 02:49 #2
Еще раз сделать Fill
0
Dexs
414 / 282 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
18.08.2009, 11:23  [ТС] #3
Да, но каким образом обратиться к datagridview из другой формы?

Есть еще такой вариант: когда вызывается Form2(через ShowDialog), то Form1(на которой datagridview) соответственно неактивна. При закрытии Form2 Form1 становится активной, и
C#
1
2
3
4
5
6
7
private void Main_Activated(object sender, EventArgs e)
        {
            DBMediaCatalogDataSet.АудиозаписиDataTable dt = new DBMediaCatalogDataSet.АудиозаписиDataTable();
            DBMediaCatalogDataSetTableAdapters.АудиозаписиTableAdapter ta = new MediaCatalog.DBMediaCatalogDataSetTableAdapters.АудиозаписиTableAdapter();
            ta.Fill(dt);
            dataGridView1.DataSource = dt;
        }
Этот вариант работает, но "правилен" ли он?
1
Rififi
2362 / 1055 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
18.08.2009, 11:34 #4
в главной форме:

C#
1
2
3
4
5
6
var form2 = new Form2();
form2.Closing += (sender, e) => 
    {
        обновить grid;
    };
form2.ShowDialog();
2
Green
1918 / 423 / 11
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
18.08.2009, 16:56 #5
Цитата Сообщение от Malkav1an Посмотреть сообщение
Этот вариант работает, но "правилен" ли он?
Использовать BindingSource для привязки таблицы к контролам. И передавать между формами ссылку на него. Тогда не придется обновлять данные из БД.
1
Dexs
414 / 282 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
18.08.2009, 17:39  [ТС] #6
Так заполняю datagridview на главной форме:
C#
1
2
3
4
5
6
7
8
9
10
11
private void просмотрToolStripMenuItem_Click(object sender, EventArgs e)
        {   
            DBMediaCatalogDataSet.АудиозаписиDataTable dt = new DBMediaCatalogDataSet.АудиозаписиDataTable();
            DBMediaCatalogDataSetTableAdapters.АудиозаписиTableAdapter ta = new MediaCatalog.DBMediaCatalogDataSetTableAdapters.АудиозаписиTableAdapter();
            ta.Fill(dt);
            аудиозаписиBindingSource.DataSource = dt;
            dataGridView1.DataSource = аудиозаписиBindingSource;
 
            dataGridView1.Columns[11].Visible = false;
            dataGridView1.Columns[12].Visible = false;            
        }
А так записываю изменения из другой формы:
C#
1
2
3
4
5
6
7
8
private void button2_Click(object sender, EventArgs e)
        {
            аудиозаписиBindingSource.EndEdit();
            this.формат_аудиозаписиTableAdapter.Update(this.dBMediaCatalogDataSet.Формат_аудиозаписи);
            this.жанр_аудиоTableAdapter.Update(this.dBMediaCatalogDataSet.Жанр_аудио);
            this.аудиозаписиTableAdapter.Update(this.dBMediaCatalogDataSet.Аудиозаписи);
            Close();
        }
Передавать ссылку на BindingSource нужно перед Close()?
0
Green
1918 / 423 / 11
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
18.08.2009, 18:05 #7
Поскольку логика приложения мне не видна, то мне, кажется, что передавать ссылку на BindingSource надо из первой формы на вторую. Во второй форме, необходимо использовать полученную ссылку для внесения изменений в таблицу.

В приведенном участке
Цитата Сообщение от Malkav1an Посмотреть сообщение
аудиозаписиBindingSource.EndEdit(); this.аудиозаписиTableAdapter.Update(this.dBMediaCatalogDataSet.Аудиозаписи);
видно только, что изменения в БД уходят из другой таблицы, не привязанной к BindingSource. Необходимо использовать таблицу, с которой связан BindingSource.
1
18.08.2009, 18:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2009, 18:05
Привет! Вот еще темы с ответами:

DGV: Обновить данные из другой формы - C#
Я знаю что этот вопрос задавали кучу раз, но я не могу понять. Заполняю dataGridView способом: ...

Сохранение БД с DataGridView другой формы - C#
Всем доброго времени суток. Имеется главная форма. На ней DataGridView, в который выводится база sql. Кликом по любой записи в...

Выполнить обновление datagridview из другой формы - C#
Есть две формы 1 - msu_main 2 - msu_add, нужно при закрытие 2-й обновить датагрид 1-й. Вторую форму открываю так : private...

Значение ячейки DataGridView из другой формы - C#
Добрый день, уважаемые форумчане. Возникла такая задача: Есть DataGridView с двумя столбцами (утрированно) ID, Name. Столбец ID...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru