Atualizar DataGridView após o fechamento do formulário filho

Eu sei que muitas perguntas semelhantes estão por aí. Mas, como eu sou novo em C #, não consigo descobrir como resolver isso.

eu tenho umDataGridView no formulário principal e eu tenho uma caixa de diálogo para adicionar novo registro. Então, o que eu quero é recarregar / atualizar oDataGridView no formulário principal quando a caixa de diálogo é fechada. (PressioneSalve  botão na caixa de diálogo).

Então, eu tenho um método público no formulário principal como este, que carrego dados usando este método:

public void UpdateProductsList()
{
  String query = "SELECT * FROM product";
  con = new SqlConnection(conString);
  con.Open();
  SqlDataAdapter sda = new SqlDataAdapter(query, con);    
  DataTable dt = new DataTable();
  sda.Fill(dt);
  dataGridView1.DataSource = dt; 
}

Eu uso esse código para abrir o formulário filho:

private void AddProductButton_Click(object sender, EventArgs e)
{
    Add_product obj = new Add_product();
    obj.ShowDialog();
}

Agora eu chamo esse método no formulário Filho quando o botão Salvar é clicado.

private void SaveProductButton_Click(object sender, EventArgs e)
{
    SaveProduct();
    Products products = new Products();
    products.UpdateProductsList();
}

No entanto, isso não está funcionando quando o botão Salvar é clicado. O estranho é que, quando adiciono esse método a um botão local no formulário principal, ele funciona sem problemas.

Eu também adicionei umMessageBox paraUpdateProductsList e tenho certeza de que foi chamado, também os dados foram inseridos no banco de dados, mas oDataGridView não mostra novo registro.

Então, onde eu errei?

questionAnswers(2)

yourAnswerToTheQuestion