Frage

Ich möchte über alle definierten Parameter auf meine Berichte Schleife zu können und eine Anzeigezeichenfolge des Parameternamen und -wert zu bauen. Ich würde dann auf den Bericht über die Ergebnisse angezeigt werden, damit der Benutzer weiß, welche Parameter für die jeweilige Ausführung verwendet wurden. Das einzige Problem ist, dass ich kann nicht in einer Schleife durch die Sammlung Parameter. Es scheint nicht ein Indexer auf der Parameter-Auflistung zu sein, noch es scheint IEnumerable zu implementieren. Hat jemand in der Lage gewesen, dies zu erreichen? Ich verwende SSRS 2005 und es muss im Berichtscode (das heißt, keine externe Montage) realisiert werden. Dank!

War es hilfreich?

Lösung

Leider sieht es so aus, als gäbe es keinen einfachen Weg, dies zu tun. Siehe http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx mehr die Info. Wenn Sie sich die Kommentare davon Post , gibt es einige Möglichkeiten, dies zu umgehen, aber sie sind nicht sehr elegant. Die einfachste Lösung erfordert, dass Sie eine Liste der Berichtsparameter irgendwo in Ihrem Bericht-Code zu haben, die offensichtlich die DRY Prinzip, aber wenn Sie die einfachste Lösung wollen, können Sie nur mit dem leben.

Sie können Ihre Constraint keine externe Montage zu überdenken wollen, wie es mir sieht, dass es viel einfacher, dies zu tun mit einem externen Montage wäre. Oder wenn Ihr Bericht ist nicht viel los zu ändern, können Sie die Liste der Parameternamen und Werte manuell erstellen.

Andere Tipps

Wenn ich Ihre Frage zu verstehen, nur das tun, was ich tue: Lassen Sie eine Textbox auf den Bericht, dann, während Sie den Bericht einrichten, legen Sie die folgenden Schritte aus: = "Parameter1:" + Parameter Parameter.Label +! "Parameter2:" + Parameter Parameter2.Label ...

Zugegeben, es ist nicht die schönste Sache, aber es ist ziemlich gut in unserer App funktioniert.

Und ich bin mit Labels anstelle der Werte, da wir Datetime-Werte haben, und der Benutzer kümmert sich nur entweder über das kurze Datum oder Monat und Jahr (je nach Umständen), und ich habe bereits entschieden, dass die Formatierung Arbeit bei der Einrichtung bis die Parameter.

Ich kann auf mindestens zwei Arten denken, dies zu tun. Die erste könnte funktionieren, wird der zweite auf jeden Fall funktionieren.

  1. Mit dem Web-Service. Ich bin mir ziemlich sicher, dass ich sah API für eine Sammlung von Parametern zu bekommen. Auch wenn es keinen direkten Zugang ist können Sie immer eine Standard-Sammlung erstellen und die Report Objekte von einem zum anderen in einer foreach-Schleife kopieren - und dann Zugriff auf Count, mit individuellen Parametereigenschaften zur Verfügung, indem sie die Report Instanzen dereferencing

  2. Die Berichte sind RDL. RDL ist XML. Erstellen Sie ein XmlDocument und laden Sie die RDL-Datei, dann den DOM verwenden, um zu tun, na ja, , was Sie wollen bis einschließlich Standardwert einstellen oder sogar Verbindungszeichenfolgen neu zu schreiben.

Wenn Ihre App nicht auf Dateisystem Zugriff auf die RDL-Dateien haben, können Sie sie über den Web-Service.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top