Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
Dexs
414 / 282 / 3
Регистрация: 29.07.2009
Сообщений: 1,982
#1

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

17.08.2009, 22:14. Просмотров 5318. Ответов 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 из другой формы
Здрасте всем.Я здесь в первый раз так что сразу прошу прощения если такой...

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

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

Обновить DataGridView первой формы из второй
Здравствуйте ув. форумчане! Помогите пожалуйста, так как опыта мало прошу...

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

6
Green
1919 / 424 / 40
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
18.08.2009, 02:49 #2
Еще раз сделать Fill
0
Dexs
414 / 282 / 3
Регистрация: 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
2363 / 1056 / 104
Регистрация: 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
1919 / 424 / 40
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
18.08.2009, 16:56 #5
Цитата Сообщение от Malkav1an Посмотреть сообщение
Этот вариант работает, но "правилен" ли он?
Использовать BindingSource для привязки таблицы к контролам. И передавать между формами ссылку на него. Тогда не придется обновлять данные из БД.
1
Dexs
414 / 282 / 3
Регистрация: 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
1919 / 424 / 40
Регистрация: 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

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

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

Сохранение БД с DataGridView другой формы
Всем доброго времени суток. Имеется главная форма. На ней DataGridView, в...


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

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

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