Dies ist wahrscheinlich keine angemessene Antwort, aber wenn ich das Gefühl habe, dass der Mangel an Material zu diesem Thema mich ermutigt, über meine Ergebnisse zu veröffentlichen.
Sagen wir, wenn ich eine verschachtelte Liste von Kinder-Objekt innerhalb des Elternobjekts habe. Dies ist eine sehr häufige Situation zum Beispiel, wenn Sie ein Auftragsobjekt (Eltern) haben, haben Sie wahrscheinlich eine Liste von Bestellelementen (Kinder), wie zeigen Sie alle Informationen mit dem RDLC? Es gibt zwei Möglichkeiten: 1 Unterbericht verwenden und 2 Gruppierung verwenden. Mir ist klar, dass beide dasselbe erreichen können, was eine Liste von Details zu einem Bericht anzeigt.
public class Order{
public int OrderID {get; set;}
public string Descrpition {get; set;}
public List<OrderItem> OrderItems {get; set;}
}
public class OrderItem{
public int OrderItemID {get; set;}
public decimal Price{get; set;}
}
Der einfachste Weg ist die Gruppierung. Bei der Gruppierung müssen Sie einen neuen Datentyp erstellen, der die Eigenschaften von Eltern und Kindern enthält. Ich glaube, dass dieser Weg auch mit einer verschachtelten Liste von Objekten funktioniert. Es klingt vielleicht blöd, aber die meiste Zeit müssen Sie ohnehin einen neuen Datentyp erstellt werden, weil die Typen der in dem Bericht angezeigt werden müssen anders als die Business-Objekte sind:
public class OrderReport{
public int OrderID {get; set;}
public string Description {get; set;}
public int OrderItemID {get; set;}
public decimal Price {get; set;}
}
Dann auf der rdlc, die Sie gerade haben Zum Erstellen der übergeordneten Zeilengruppe und einer untergeordneten Zeilengruppe sollte Parent nach OrderID gruppiert werden, die untergeordnete Zeilengruppe sollte auf "Details anzeigen" eingestellt werden. Ich denke, Sie können dies mehrmals tun, um eine verschachtelte Liste von Objekten auf mehreren Ebenen zu erreichen.
Ich renne in die gleiche Sache. Ich verstehe nicht, warum sie diese Funktionalität weggenommen haben, sehr nervig! – AKoran
Offenbar wird in VS 2010 SP1 behoben, solange Ihre Klassen öffentlich und serialisierbar sind. –