Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 196
  • Last Modified:

MDI FOrms

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?
0
Ilianam
Asked:
Ilianam
  • 4
  • 2
1 Solution
 
wguerramCommented:
You detail from use the same dataset as your search result form?
0
 
IlianamAuthor Commented:
no
0
 
wguerramCommented:
How are you actually populating you grid in search results?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
0
 
wguerramCommented:
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.
0
 
Javert93Commented:
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.
0
 
wguerramCommented:
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)
f.ShowDialog

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.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

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