Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 5
.NET 4.x

Добавление данных из textbox второй формы на Datagrid первой формы

19.03.2020, 20:19. Показов 1871. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такой вопрос. У меня на первой форме есть DataGrid с подключенной БД. мне нужно, чтобы соответсвующие данные из texbox отразились в datagrid. Данные в бд добавляются, но в dategrid отображаются только, если программу закрыть и открыть.
Вот код первой формы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }
        
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "examsDataSet1.Exam". При необходимости она может быть перемещена или удалена.
            this.examTableAdapter.Fill(this.examsDataSet1.Exam);
            
 
        }
      
 
        private void дабавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.But1 = true;
            form2.Show();
        }
Вот код второй формы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public partial class Form2 : Form
    {
        
        public Form2()
        {
            InitializeComponent();
        }
             
        
        public bool But1
        {
            get { return button1.Visible; }
            set { button1.Visible = value; }
        }
        public bool But2
        {
            get { return button2.Visible; }
            set { button2.Visible = value; }
        }
 
        private void Form2_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            ExamsDataSet1TableAdapters.ExamTableAdapter exam = new ExamsDataSet1TableAdapters.ExamTableAdapter();
            ExamsDataSet1 dataSet1 = new ExamsDataSet1();
            exam.Insert(textBox1.Text, Convert.ToInt32(textBox2.Text), textBox3.Text);
            exam.Update(dataSet1);
            exam.Fill(dataSet1.Exam);
           
           
            
        }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2020, 20:19
Ответы с готовыми решениями:

Передать данные из TextBox второй формы в TextBox первой формы
Смысл такой. Из первой (главной) формы открывается третья форма, куда вводятся значения часов, минут и секунд в отдельные TextBox'ы. Эти...

Вывод текста из строки(ячейки) DataGridView первой формы в textbox второй формы
Помогите пожалуйста как вывести текст из строки(ячейки) DataGridView первой формы в textbox второй формы при нажатии на кнопку, а не на...

Как управлять из первой формы (Form1) компонентами второй формы (Form2) ?
Здравствуйте Как управлять из первой формы (Form1) компонентами второй формы (Form2) ? например если нажать на кнопку которая находится...

6
14 / 8 / 7
Регистрация: 09.10.2016
Сообщений: 54
19.03.2020, 20:35
Если проблема в том, что dataGrid не обновляется, вызовите его обновление при нажатии кнопки/закрытии формы добавления/окончании ввода текста итд. Например, создайте метод обновления значений dataGrid:

C#
1
2
3
4
5
public void UpdateDataGrid()
{
this.examTableAdapter.Fill(this.examsDataSet1.Exam);
dataGridView1.DataSource = (this.examsDataSet1.Exam)
}
Таким образом, метод можно использовать в событии Load основной формы для изначального заполнения датагрида и затем при необходимости обновить его значения

Ввели значение, нажали "применить", вызвали метод UpdateDataGrid();
не уверен, что метод написал верно, возможности протестить сейчас нет, но должно работать
1
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 5
19.03.2020, 21:15  [ТС]
я протестировала этот метод, данные в гриде не обновляются. Я вызвала этот метод при нажатии кнопки, в событии Load основной формы, при закрытии формы. Не сработало. Может быть ещё будут предложения?
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.03.2020, 07:52
Лучший ответ Сообщение было отмечено koli665544 как решение

Решение

Цитата Сообщение от koli665544 Посмотреть сообщение
Может быть ещё будут предложения?
А параллельное прямое добавление в ячейки из textBox не проходит?
И еще. В каком-то стародавнем проекте у нас было что-то похожее. Там проблема решилась добавлением между строкой добавления в базу и строкой обновления грида сообщения (messageBox), что данные в базу добавлены. Попробуйте, если пройдет, а сообщение мешает, то, потом, мы заменили его на какое-то неотображаемое ненужное действие, типа, в невидимый label что-то добавили и потом убрали. Глупость конечно, но времени разбираться не было, а проект уже должен был работать, так что...
2
0 / 0 / 0
Регистрация: 05.04.2019
Сообщений: 5
20.03.2020, 09:00  [ТС]
Я не знаю как, но с MessegeBox реально сработало. Спасибо
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
20.03.2020, 10:54
Так после добавления данных из второй формы, нужно на первой форме о
Цитата Сообщение от chumich Посмотреть сообщение
но времени разбираться не было
Похоже нужна некая задержка между действиями, любопытно это так sql сервер притормаживает.

Не по теме:

Интереса ради, какие у вас (chumich и koli665544) используются базы данных?

0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.03.2020, 12:59

Не по теме:

Цитата Сообщение от OttoFix Посмотреть сообщение
Похоже нужна некая задержка между действиями
Это понятно. Непонятно - зачем и почему. Вроде бы компьютер должен всё мгновенно делать (в нашем понимании)


Не по теме:

Цитата Сообщение от OttoFix Посмотреть сообщение
базы данных
У нас тогда, давно, MS Access был. Но, похожее и с остальными происходит, потому что я уже не первый раз этот "рецепт" даю. Так что, видимо, проблема не в базе, а в set-ах, table-ах и адаптерах.

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

Открытие (окна) второй формы всегда по центру относительно первой (формы)
Форма №1 - основное окно программы (можно свободно перемещать по экрану). Форма №2 - окно настроек (в нем можно что-то изменить и закрыть;...

Как из второй формы получить доступ ко всем формам первой формы?
Как?

Передать данные из DataGridView первой формы в comboBox второй формы
Всем привет! У меня возник один очень странный вопрос, прошу строго не судить) Как передать данные по выбору строки DataGridView из...

При открытии второй формы в combobox.text отобразить выделенный Item в listview из первой формы
на первой форме listbox и кнопка(listbox привязан к бд).При нажатии на кнопку открывается вторая форма с combobox с теми же данными что и в...

Обращение к функции первой формы из второй формы
Вот есть функция она объявлена и работает замечательно в первой форме, я хочу обращаться к ней из другой формы, передавать ей параметры и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru