Jul 13, 2010
I have made several posts on here lately regarding master/detail or parent/child data setups but no one has been able to help. It seems like a subject people don't like to tackle BUT I really need help.
View 2 Replies
I'm having a real hard with the DataView.RowFilter functionality and it is driving me insane.
For the most part, I have the basic master/detail functionality working. When you select a record in the first grid, it shows the correct data in the second grid. When you enter a record in the first grid, you can enter related data in the second grid. I accomplish this by using a dataview and row filter bound to the 2nd grid. When you change the record in the first grid, the rowfilter for the 2nd grid is restated and reapplied.
The problem arises when I overwrite the primary field value in the first grid and the detail records become orphaned. You would think all I have to do is change the ID in the 2nd grid to match the new ID in the 1st grid but this is where I am having problems. I wrote a loop to change the ID of each record currently loaded in the 2nd grid to match the newly changed ID in the first grid. The code is here:
Dim I As Integer
For I = AuthorizationGroupsDGV.Rows.Count - 2 To 0 Step -1
AuthorizationGroupsDGV.Rows(I).Cells(0).Value = StrEmployeeID
I have used this code before and it works great. It has to step backwards through the grid because when the ID's are changed, they no longer match the RowFilter criteria and they disappear from the grid. They still exist in the dataset. The problem is, while the code "works" the intended effect does not. Some of the records completely disappear from the dataset and do not reload when I restate the row filter against the new ID number.