Ah
Say you have a hierarchy like this:
A <- B <- C
A <- D
A collection of type A is fetched, which thus can contain entities of type A, B, C and D.
A defines fields F1 and F2. B defines extra fields F3 and F4. C defines extra field F5 and D defines extra field F6.
A grid works with columns which represent a property in EVERY element in the bound collection. However this leads to a problem: which columns to display? You bind a collection of type 'A', so all elements have the types F1 and F2.
What to do with the other fields? Some elements in the collection have fields F1-F4, others have F1, F2 and F5, others have F1, F2 ad F6 etc.
Displaying all columns next to eachother looks like a solution but this has the disadvantage that the user looking at the rows doesn't understand which column belongs to which TYPE.
i.o.w.: unsolveable, so only the columns of the type of the collection are shown, Parties. (or A in my example).
(btw, you can add #imports MDC.Data etc. at the top of your code file so you don't have to type all the namespace names each time
)