Ich habe versucht, das gleiche zu tun, eine einfache Liste von Parameterwerten aus Berichtscode. Keiner der Links in einer dieser Antworten zeigt, wie dies zu tun ist und nach einigem Hin und Her, glaube ich nicht, dass es überhaupt möglich ist. Ja, es ist möglich, die Werte von einer Datenbankabfrage, von einem Webservice oder von einer benutzerdefinierten Assembly abzurufen, aber jeder von diesen erzeugt viel Overhead, verglichen mit dem Abrufen der Liste von einem einfachen Funktionsaufruf wie = Code.GetValues () , wobei die Funktion eine For-Schleife verwendet, um die Werte zu erstellen.
msvcyc weist darauf hin, dass der Parameter einen String-Wert erwartet, aber die Funktion ein Array zurückgibt.Ich habe den Rückgabetyp wie von Prashant Sable vorgeschlagen zu Array geändert, aber die Auswahlliste ist immer noch ausgegraut, es funktioniert nicht. Und es stimmt, dass coldice sagt, dass der Zugriffsmodifikator öffentlich sein sollte.
In meinem Graben habe ich an article by James Kovac von 2005 gefunden, wies darauf hin, warum das nicht möglich ist. Die Klasse Parameters hat eine get-Methode, aber keine set-Methode. Im Objektobrowser von VS 2008 für SSRS 2008 wurde der Objektname geändert, enthält aber immer noch keine set-Methode (siehe Microsoft.ReportingServices.Interfaces.IParameter.Name oder .Value).
Meine aktuelle Problemumgehung besteht darin, nur die Werteliste hart zu codieren, aber wenn Ihre Werteliste dynamisch sein muss, sind Datenbankabfragen, Webdienste oder benutzerdefinierte Assemblys die einzigen Optionen. Ich denke, die einfachste Problemumgehung dieser drei ist das Abrufen der Werte von der Datenbank-Engine, wie von oleksiy.t vorgeschlagen, solange Sie eine Abfrage schreiben können, um die gewünschte Werteliste zurückzugeben. Ihre Liste von Ganzzahlen oder meine Liste von Zeitintervallen wäre beides einfache Abfragen zu schreiben. Andernfalls müssen Sie eine der beiden anderen Problemumgehungen verwenden.
*** http: //blogs.sqlxml.org/bryantlikes/articles/824.aspx*** nicht gefunden _404 error_ – Kiquenet