There is a lot you don't specify in your question, but let's assume this scenario:
When customerView is shown, you call the database to fill a DataGridView with customer details. At some point you either dbl-click on a DGV row, or you select a row and click a button, and then show viewForm, passing in the data in the currently selected row. Again, you don't specify how this is done, but let's assume you pass in a Data Transfer Object of some kind.
Once done editing, you click a button, save the changes to the database, then close viewForm.
According to your comments this is the general workflow you have in your application now.
In this case, you can simply re-fetch the data, as you did when first showing customerView when the viewForm.ShowDialog() method returns.
Unless there is something else I don't get, this can be easily done like this:
//customerForm
private void button1_Click(object sender, EventArgs e)
{
ViewFormClass viewForm = new ViewFormClass();
viewForm.SetCustomerData(dataObject);
viewForm.ShowDialog(); // will stop here waiting for viewForm to close
this.FetchCustomerData();
}
where FetchCustomerData()
is the same method you called when opening customerView. In there you would typically fetch the data and bind it to controls.
Cheers
EDIT:
As per your own code, with a simple modification:
private void viewBTN_Click(object sender, EventArgs e)
{
int selectedRowIndex = customersTBLDataGridView.SelectedCells[0].RowIndex;
DataGridViewRow selectedRow = customersTBLDataGridView.Rows[selectedRowIndex];
viewForm frm2 = new viewForm((DataRowView)selectedRow.DataBoundItem);
frm2.ShowDialog();
this.customersTBLTableAdapter.Fill(this.lWADataBaseDataSet.customersTBL);
}