Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
11 / 11 / 12
Регистрация: 06.05.2015
Сообщений: 421

Не работает обновление DataGridView

19.04.2016, 21:25. Показов 2341. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вызываю функцию obnovl с другой формы. После чего она должна обновить данные в DataGridView из БД.
Но почему-то не обновляет DataGridView.
При нажатии на кнопку меню (вызов диспетчераToolStripMenuItem_Click), сразу же обновляет.
К функции диспетчераToolStripMenuItem_Click переходит точно, пробовал вывести сообщение.
Что не так?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void obnovl(object sender, EventArgs e)
        {
            диспетчераToolStripMenuItem_Click(sender, e);
        }
 
        private void диспетчераToolStripMenuItem_Click(object sender, EventArgs e)
        {
            button_on();
            datagrid_off();
            dataGridView1.Size = panel1.Size;
            dataGridView1.Location = new Point(0, 0);
            panel1.Visible = true;
            dataGridView1.Visible = true;
            CmdText = "SELECT Фамилия, Имя, Отчество, Должность, Зарплата FROM [Диспетчер]";
            dataAdapter = new OleDbDataAdapter(CmdText, ConnString);
            ds = new DataSet();
            dataAdapter.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            Data.bd = 1;
        }
Добавлено через 2 часа 44 минуты
помогите

Добавлено через 2 часа 30 минут
я не верю что тут никто не знает..
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.04.2016, 21:25
Ответы с готовыми решениями:

Обновление DataGridView
Добрый день! Нужна помощь) Есть таблица в базе данных, которую я отображаю через listbox, но при подгрузке информации на listbox, она...

Обновление DataGridView
Всем привет. Есть DataTable, в который непрерывно добавляются строки (в фоновом процессе). Как правильно показывать содержимое этого...

Обновление dataGridView
Как првильна обновить dataGridView1. зчитывую з ХМЛ таким кодом XmlDataDocument xmlDatadoc = new XmlDataDocument(); ...

4
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
19.04.2016, 22:21
Rider98,
Покажите код вызова из другой формы. Желательно с получением ссылки на форму с DataGridView.
Погадаю.
Наиболее часто встречающаяся ошибка в том, что публичный метод вызывается не для того экземпляра класса формы. Т.е. из 2-й формы (класс Form2) вызывается метод класса первой формы (класс Form1) так:
C#
1
2
Form1 f1 = new Form1();
f1.obnovl(sender, e);
В этом случае метод успешно вызывается, но не для того экземпляра Form1, который на экране, а для нового, созданного через new Form1().
Это подтверждает и появление сообщения, ибо MessageBox к конкретному экземпляру формы не привязан.
0
11 / 11 / 12
Регистрация: 06.05.2015
Сообщений: 421
20.04.2016, 09:58  [ТС]
Цитата Сообщение от Даценд Посмотреть сообщение
Покажите код вызова из другой формы. Желательно с получением ссылки на форму с DataGridView.
Погадаю.
Наиболее часто встречающаяся ошибка в том, что публичный метод вызывается не для того экземпляра класса формы. Т.е. из 2-й формы (класс Form2) вызывается метод класса первой формы (класс Form1) так:
C#Выделить код
1
2
Form1 f1 = new Form1();
f1.obnovl(sender, e);
В этом случае метод успешно вызывается, но не для того экземпляра Form1, который на экране, а для нового, созданного через new Form1().
Это подтверждает и появление сообщения, ибо MessageBox к конкретному экземпляру формы не привязан.
Именно так...
Подскажи, как можно исправить?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
20.04.2016, 10:43
Лучший ответ Сообщение было отмечено Rider98 как решение

Решение

Цитата Сообщение от Rider98 Посмотреть сообщение
как можно исправить?
Ну, например, так:
1) При создании 2-й формы устанавливается свойство Owner:
C#
1
2
3
Form2 f2 = new Form2();
f2.Owner = this;
f2.ShowDialog();
2) При вызове метода из 2-й формы:
C#
1
(this.Owner as Form1).obnovl(sender, e);

Причем непонятную конструкцию с вызовом обработчиков из методов стоит поменять:
C#
1
2
3
4
5
6
7
8
public void Obnovl()
{
    button_on();
    datagrid_off();
    dataGridView1.Size = panel1.Size;
    dataGridView1.Location = new Point(0, 0);
    //...
}
C#
1
2
3
4
private void диспетчераToolStripMenuItem_Click(object sender, EventArgs e)
{
    Obnovl();
}
Вызов из 2-й формы:
C#
1
(this.Owner as Form1).Obnovl();
1
11 / 11 / 12
Регистрация: 06.05.2015
Сообщений: 421
20.04.2016, 11:12  [ТС]
Цитата Сообщение от Даценд Посмотреть сообщение
Ну, например, так:
1) При создании 2-й формы устанавливается свойство Owner:
Сделал как сказали, это во 2 форме:
C#
1
2
3
4
5
6
7
8
 public void obnovl()
        {
                CmdText = "SELECT Фамилия, Имя, Отчество, Должность, Зарплата FROM [Диспетчер]";
                dataAdapter = new OleDbDataAdapter(CmdText, ConnString);
                ds = new DataSet();
                dataAdapter.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
        }
При вызове:
C#
1
2
3
4
5
6
private void button2_Click(object sender, EventArgs e)
        {
            Form3 form3 = new Form3();
            form3.Owner = this;
            form3.ShowDialog();
        }
В третей форме:
C#
1
(this.Owner as Form2).obnovl();
Ошибок нету, но dataGrid не обновляется.

Добавлено через 9 минут
Исправил, спасибо.
Затупил, и сделал обновления до закрытия конекта...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2016, 11:12
Помогаю со студенческими работами здесь

Обновление dataGridView
имеется класс public class Item { public string name { get; private set; } public int...

обновление dataGridView
Помогите, пожалуйста!!! Есть две формы на первой dataGridView, а на второй я добавляю данные. Написала процедуру обновления: ...

Обновление dataGridView
Добрый день! Подскажите пожалуйста как реализовать обновление dataGridView (чтобы выводились все записи БД, в том числе и только что...

DataGridView и обновление бд
Доброго времени суток. Я наверное повторяюсь... но много тем читал про то как сохранить изменения в бд после изменений в dataGridView. ...

Обновление DataGridView
Доброго времени суток. Дело в том, что у меня не получается обновить DataGridView из другой формы. Начну с того, что у меня есть 2 формы....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru