• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 198
  • Last Modified:


I have a menu, which is the parent, and two forms (search, details) which are mdichildren
In search I have a datagrid that displays the results of the search, when you click in any row, it opens details.
In details, I can add, delete, update...But I want to be able to refresh the grid from detail
Any idea?
  • 4
  • 2
1 Solution
You detail from use the same dataset as your search result form?
IlianamAuthor Commented:
How are you actually populating you grid in search results?
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

IlianamAuthor Commented:
It's binded to a dataset. Then I keep the contact_id in a public variable and in my detail I execute an sp which has contact_id as a parameter....Then I populate the fields
One way would be to make changes to the dataset of your search form from detail form.

But you would have to make double changes.

the other one would be to fill you Dataset throug the DataAdapter, again after you make changes in your detail form.
You could use events to let the search form know the details have changed. Define an event in your details form:

    Public Event DetailsModified(ByVal sender As Object, ByVal ContactID As Integer)

Then, wire the event when you create the details form:

    Dim frm As New DetailsForm()
    AddHandler frm.DetailsModified, AddressOf MyDetailsHandler

Finally, you raise the event when the user adds, deletes, or updates:

    RaiseEvent DatailsModified(this, m_intContactID)

As a side note, I would create a constructor in your details form to accept the contact_id rather than storing it in a global variable. With your current setup, you can only have one detail form open at a time without introducing logic errors.
In your detail form you could add a property Named

Public MyTable as DataTable

so when you call your detail form from your search form you could do this.

Dim f as new MyDetailForm

f.MyTable = MyDataSet.Tables(0)

where MyDataSet is the DataSet in you search form.

Now in your Detail form you have complete access to f.MyTable from Search Table.
This way you can keep your data synchronized.

After you close Detail form you can call your DataGrid.Refresh method.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now