what is the simplest way to assign different datatemplates for the top row of a hierarchy and a different one for the child records?
I have seen several approaches eg. TemplateSelector or to assing the style on loaded Event.
Assuming your question is on having a different template for parent rows vs what the child uses and your parent and child records have different schemas you can just create multiple FieldLayouts and the correct one will automatically be used. If your Parent and Child records have the same schema or you wish to be able to specify a FieldLayout to use on a record by record basis, you can use the AssigningFieldLayoutToItem event.
the parent row uses the FieldLayout <igDP:FieldLayout Key="Baustellen"> and the child records use <igDP:FieldLayout Key="Ressourcen">.
A small set of columns are defined in XAML, the majority (= one column per day) is created in code behind. For that reason I assume that the AssigningFieldLayoutToItem event is my friend.
I will work with this event and come back in case new Questions arrise.