Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sobald Sie eine benutzerdefinierte Assembly erstellt, diese im Berichts-Designer oder Berichtsserver zur Verfügung gestellt, die entsprechende Sicherheitsrichtlinie und in der Berichtsdefinition einen Verweis auf die benutzerdefinierte Assembly hinzugefügt haben, können Sie mit Berichtsausdrücken auf Klassenelemente in der Assembly zugreifen. Wenn Sie in einem Ausdruck auf benutzerdefinierten Code verweisen möchten, müssen Sie das Klassenelement in der Assembly aufrufen. Die Vorgehensweise hängt davon ab, ob es sich um eine statische oder um eine instanzbasierte Methode handelt.
Aufruf statischer Elemente aus einer Berichtsdefinitionsdatei
Statische Elemente gehören zur Klasse oder zum Typ selbst und nicht zu einem instanziierten Objekt. Auf diese Elemente kann zugegriffen werden, indem sie direkt von der Klasse aus aufgerufen werden. Wenn möglich, sollten Sie statische Elemente verwenden, um benutzerdefinierte Funktionen in einem Bericht aufzurufen, da die Leistung von statischen Elementen am besten ist. Um ein statisches Element aufzurufen, müssen Sie darauf als Ausdruck in der Form =Namespace.Class.Method verweisen.
So rufen Sie statische Elemente auf
Um ein statisches Element aufzurufen, stellen Sie den Ausdruck auf den vollqualifizierten Namen des Elements ein, der Namespace, den Klassennamen und den Elementnamen umfasst. Im folgenden Beispiel wird die ToGBP-Methode verwendet, bei der der Wert des Felds StandardCost von Dollar in britische Pund umgerechnet und in einem Bericht angezeigt wird:
=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)
Wichtige Informationen für statische Felder und Eigenschaften
Derzeit werden alle Berichte in der gleichen Anwendungsdomäne ausgeführt. Das bedeutet, dass Berichte mit benutzerdefinierten, statischen Daten diese Daten in anderen Instanzen desselben Berichts zur Verfügung stellen. Dies kann dazu führen, dass die statischen Daten eines Benutzers allen Benutzern, die einen bestimmten Bericht ausführen, zur Verfügung gestellt werden. Aus diesem Grund empfiehlt es sich, keine statischen Felder oder Eigenschaften in benutzerdefinierten Assemblys oder im Code-Element, sondern stattdessen Instanzfelder bzw. -eigenschaften in Berichten zu verwenden. Statische Methoden können trotzdem verwendet werden, da sie weder Status noch Daten speichern.
Aufruf von Instanzelementen aus einer Berichtsdefinitionsdatei
Wenn die benutzerdefinierte Assembly Instanzelemente enthält, auf die Sie in einer Berichtsdefinition zugreifen müssen, müssen Sie einen Instanznamen für die Klasse des Berichts hinzufügen. Hierzu verwenden Sie die Registerkarte Code des Dialogfelds Berichtseigenschaften. Weitere Informationen zum Hinzufügen von Klasseninstanzen zu einem Bericht finden Sie unter Benutzerdefinierter Code und Assembly-Verweise in Ausdrücken in Berichts-Designer (SSRS).
Um ein statisches Element aufzurufen, müssen Sie darauf als Ausdruck verweisen, der die Form = Code* annimmt. InstanceName.Method*.
So rufen Sie Instanzelemente auf
Um ein Instanzelement einer benutzerdefinierten Assembly aufzurufen, müssen Sie auf das Schlüsselwort Code gefolgt vom Instanznamen und der Methode verweisen. Im folgenden Beispiel wird die Instanzmethode ToEUR verwendet, bei der der Wert des Felds StandardCost von Dollar in Euro umgerechnet und in einem Bericht angezeigt wird:
=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)