Freigeben über


Vorgehensweise: Hinzufügen von Code zu einem Bericht (Berichts-Generator 2.0)

In Berichts-Generator 2.0 können Sie benutzerdefinierten Code, der in Visual Basic geschrieben ist, direkt in dem Bericht hinzufügen und dann einen Verweis auf den Code aus einem beliebigen Ausdruck hinzufügen. Während der Berichtsverarbeitung wird der Code verarbeitet. Die Namespaces für zwei Microsoft.NET Framework-Klassen sind automatisch eingeschlossen: System..::..Math und System..::..Convert. In Berichts-Generator 2.0 wird das Hinzufügen von Verweisen auf andere Klassen nicht unterstützt.

Wenn Sie bei einem Berichtsserver angemeldet sind, erfolgt die Berichtsverarbeitung auf dem Berichtsserver. Wenn Sie nicht bei einem Berichtsserver angemeldet sind, erfolgt die Berichtsverarbeitung auf dem Clientcomputer.

Weitere Informationen über andere Verweise, die Sie anhand Ihres Codes erstellen können, finden Sie unter Verwenden von benutzerdefinierten Codeverweisen in Ausdrücken (Berichts-Generator 2.0).

HinweisHinweis

Das Hinzufügen von Verweisen auf benutzerdefinierte Assemblys wird nur unterstützt, wenn Sie bei einem Bericht auf einem Berichtsserver angemeldet sind, auf dem der Systemadministrator die benutzerdefinierten Assemblys installiert hat.

So fügen Sie einem Bericht eingebetteten Code hinzu

  1. Klicken Sie in der Entwurfsansicht mit der rechten Maustaste auf die Entwurfsoberfläche außerhalb des Rahmens des Berichts, und klicken Sie auf Berichtseigenschaften.

  2. Klicken Sie auf Code.

  3. Geben Sie den Code unter Benutzerdefinierter Code ein. Fehler im Code erzeugen Warnungen, wenn der Bericht ausgeführt wird. Im folgenden Beispiel wird eine benutzerdefinierte Funktion namens ChangeWord erstellt, die das Wort "Bike" mit "Bicycle" ersetzt.

    Public Function ChangeWord(ByVal s As String) As String
       Dim strBuilder As New System.Text.StringBuilder(s)
       If s.Contains("Bike") Then
          strBuilder.Replace("Bike", "Bicycle")
          Return strBuilder.ToString()
          Else : Return s
       End If
    End Function
    
  4. Im folgenden Beispiel wird gezeigt, wie ein Datasetfeld namens Category in einem Ausdruck an diese Funktion übergeben wird:

    =Code.ChangeWord(Fields!Category.Value)
    

    Wenn Sie diesen Ausdruck einer Tabellenzelle hinzufügen, in der Kategoriewerte angezeigt werden, wird, wenn das Wort "Bike" im Datasetfeld für diese Zeile enthalten ist, stattdessen das Wort "Bicycle" als Tabellenzellenwert angezeigt.