2010-12-30 2 views
2

ich ein Objekt, das ein Kind Sammlung hat:eine Sammlung Anzeige in einer Tablix-Zelle (SSRS)

class Person 
{ 
    public string Name { get; set; } 
    public ICollection<PhoneNumber> PhoneNumbers { get; set; } 
} 

class PhoneNumber 
{ 
    public string Name { get; set; } 
    public string Number { get; set; } 
} 

Die Höhe dieser Telefonnummer kann stark variieren. Tha Tisch Ich muß am Ende bekommen:

--------------------------------- 
| John Doe | Home: +1-800-666 | 
|   | Work: +1-800-777 | 
--------------------------------- 
| Homer Si | Home: +1-800-111 | 
|   | Work: +1-800-222 | 
|   | Mobile: +1-800-333 | 
--------------------------------- 

(Ich hoffe, dass es offensichtlich ist, welche Felder, die in der obigen Abbildung) ich die Datenklassen überarbeiten kann, wie ich will. Ich muss die Formatierung behalten (ich meine, dass die Telefonnummern auf einer Linie wie oben gezeigt ausgerichtet sein müssen).

Die Frage ist - was ist der beste Weg, dies zu tun? Die Haupteinschränkung, die ich habe, ist, dass ich keinen Code-hinter für den Bericht schreiben kann. Ich kann nur den Bericht XML (mit Unterberichten, wenn nötig, aber bedenken Sie - kein Code-Behind).

Ist es überhaupt möglich?

PS Ich verwende 2008 lokale Berichte

+1

Haben Sie jemals eine Lösung dafür gefunden? –

+0

Habe gerade eine neue Antwort gepostet. Obwohl es keine Lösung ist - es ist ein Weg, um das zu erreichen, was wir wollten. – Jefim

Antwort

0

Nun, wir nicht genau eine Lösung für die Frage finden, aber ich kann nur sagen: wir im Grunde endete SQL-ähnliche Strukturen wie Ergebnisse von Datenabfragen bieten. Denn so wollen Reporting Services sein.

Und glauben Sie mir - geben Sie einfach auf, einige benutzerdefinierte Funktionen in der Berichterstattung zu erreichen. Hören Sie einfach auf zu kämpfen und verwenden Sie die Standardmethoden.

Wie bereits erwähnt, haben wir ein SQL-ähnliches JOIN verwendet, um das gewünschte Format zu erhalten. Die Daten aus Provider zurückgegeben wird, ist nun in der folgenden Form:

______________________________________ 
|PersonName | PhoneType | PhoneNumber| 
|___________|___________|____________| 
|John Doe | Home  | +123456 | 
|John Doe | Work  | +098765 | 
|___________|___________|____________| 
|Homer S. | Mobile | +654432 | 
|Homer S. | Home  | +654431 | 
|Homer S. | Work  | +654433 | 
|___________|___________|____________| 

Und wir Gruppe nur die tablix auf Personname, so dass in dem Bericht sieht es so aus:

______________________________________ 
|PersonName | PhoneType | PhoneNumber| 
|___________|___________|____________| 
|John Doe | Home  | +123456 | 
|   | Work  | +098765 | 
|___________|___________|____________| 
|Homer S. | Mobile | +654432 | 
|   | Home  | +654431 | 
|   | Work  | +654433 | 
|___________|___________|____________| 

dass es ist.

Verwandte Themen