I have two forms let it be Form A and Form B. When I click save button on Form B I want the DataGridView of Form A to refresh.
Which method should I use?
Create a method for binding the gridview, call this method on form load of form A, and if the form is already opened, you have to use its instance (of form A), and call the same binding method of Form A for gridview binding.
implement code in Form A like this:
private delegate void DEmpty();
public void RefreshDataGrid()
{
this.Invoke(new DEmpty(datagrid.Refresh));
}
then call this when button is clicked on B
Using a event is one way of doing this. Below is another way which is more object oriented.
Add public Refresh method in FormA.
public void RefreshDataGrid()
{
//Do refresh
}
Pass the instance of FormA to FormB when constructing FormB. You have to create FormB contructor to take FormA instance.
private FormA myFormA;
public FormB(FormA formA)
{
myFormA = formA;
}
Now you can call FormA.ResfreshGrid() method from FormB.
myFormA.RefreshGrid();