The problem is that I don't want to do any detail-fetching on a masterrow-change because of poor network speed. I want to fetch everything in one go, like prefetch paths.
On method would be to see if you can use Data Transfer Object (DTO) design pattern - search for it in the forum for referances. What this will mean is that you will fill a data object with all the required data and then send it to the presentation layer to bind to the grids.
Please note, this method has draw back. One that you need to be aware of is that potentially you can 'fill' the data object will ALL the data in your detail table - not good for memory on the client.
You could limit the data by perform this in 'batches' or more commonly known as 'pages' - get the first 50 rows of detail data in your DTO and then get the next 'batch' when the user clicks on 'next'.
I don't like treeView. I don't want to force the user to click and expand nodes to see details.
Personally, I like treeView, but its down to taste if guess - I am told by my wife my taste in clothes is well...testeless !.
Hope this help. Let us know.