Мне нужно обновить таблицу Microsoft SQL из другой формы, а затем обновить основную форму + поле со списком, которое имеет внешний ключ в другой таблице SQL. По какой-то причине данные не записываются в основную форму, пока вы не откроете ее повторно или не перезапустите программу.
Вот код основной формы:
Код: Выделить всё
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DeparmentDB5
{
public partial class GradeJournalForm : Form
{
public GradeJournalForm()
{
InitializeComponent();
}
private void gradeJournalBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.gradeJournalBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.departmentDataSet);
}
private void GradeJournalForm_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "departmentDataSet.Students". При необходимости она может быть перемещена или удалена.
this.studentsTableAdapter.Fill(this.departmentDataSet.Students);
// TODO: данная строка кода позволяет загрузить данные в таблицу "departmentDataSet.Academics". При необходимости она может быть перемещена или удалена.
this.academicsTableAdapter.Fill(this.departmentDataSet.Academics);
// TODO: данная строка кода позволяет загрузить данные в таблицу "departmentDataSet.Subjects". При необходимости она может быть перемещена или удалена.
this.subjectsTableAdapter.Fill(this.departmentDataSet.Subjects);
// TODO: данная строка кода позволяет загрузить данные в таблицу "departmentDataSet.GradeJournal". При необходимости она может быть перемещена или удалена.
this.gradeJournalTableAdapter.Fill(this.departmentDataSet.GradeJournal);
}
private void button1_Click(object sender, EventArgs e)
{
AcademicsForm academicsForm = new AcademicsForm();
academicsForm.Owner = this;
academicsForm.ShowDialog();
}
private void button2_Click(object sender, EventArgs e)
{
SubjectsForm subjectsForm = new SubjectsForm();
subjectsForm.Owner = this;
subjectsForm.ShowDialog();
}
private void button3_Click(object sender, EventArgs e)
{
StudentsForm studentsForm = new StudentsForm();
studentsForm.Owner = this;
studentsForm.ShowDialog();
}
private void gradeJournalDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
}
}
}
Код: Выделить всё
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DeparmentDB5
{
public partial class AcademicsForm : Form
{
public AcademicsForm()
{
InitializeComponent();
}
private void academicsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.academicsBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.departmentDataSet);
}
private void AcademicsForm_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "departmentDataSet.Academics". При необходимости она может быть перемещена или удалена.
this.academicsTableAdapter.Fill(this.departmentDataSet.Academics);
}
private void button1_Click(object sender, EventArgs e)
{
this.academicsBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.departmentDataSet);
GradeJournalForm main = this.Owner as GradeJournalForm;
if (main != null)
{
main.academicsTableAdapter.Fill(this.departmentDataSet.Academics);
main.academicsCombo.SelectedIndex = main.academicsCombo.Items.Count - 1;
}
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Tried setting all elements in the main form to public - nothing
Источник: https://stackoverflow.com/questions/781 ... other-form