Hinzufügen eines Berichtrahmens zu einer Website

In diesem Abschnitt erfahren Sie, wie Sie einem Crystal Reports-Bericht, der für eine Website bestimmt ist, einen benutzerdefinierten Rahmen hinzufügen. Bei einem Windows-Projekt sind keine Eigenschaften für Rahmenstärke, -stil·und -farbe verfügbar.

Die Rahmenstile sind in der BorderStyle-Enumeration und die Farben in der KnownColor-Enumeration aufgelistet. Die BorderColor-Eigenschaft des CrystalReportViewer-Steuerelements verwendet jedoch die Werte aus der Color-Klasse. Deshalb muss der KnownColor-Wert in den Color-Wert konvertiert werden.

Zunächst fügen Sie dem Web Form die erforderlichen Steuerelemente hinzu: Sie benötigen ein TextBox-Steuerelement, zwei DropDownList-Steuerelemente und ein Button-Steuerelement, um den Rahmen zu zeichnen.

So fügen Sie die Steuerelemente zum Festlegen von Rahmenstärke, -stil und -farbe hinzu

  1. Öffnen Sie das Web Form.
  2. Klicken Sie im Menü Ansicht auf Designer.
  3. Ziehen Sie ein Label-Steuerelement aus der Toolbox in die sechste Zeile und erste Spalte der Tabelle.
  4. Wählen Sie das Label-Steuerelement aus, und setzen Sie dann die Eigenschaft Text im Fenster Eigenschaften auf "Rahmenstärke".
  5. Ziehen Sie ein TextBox-Steuerelement aus der Toolbox in dieselbe Tabellenzelle wie das Label-Steuerelement.
  6. Wählen Sie das TextBox-Steuerelement aus, und setzen Sie ID (oder Name) im Fenster Eigenschaften auf "borderWidth".
  7. Ziehen Sie ein zweites Label-Steuerelement aus der Toolbox in die sechste Zeile und zweite Spalte der Tabelle.
  8. Wählen Sie das Label-Steuerelement aus, und setzen Sie dann Text im Fenster Eigenschaften auf "Rahmenstil".
  9. Ziehen Sie ein DropDownList-Steuerelement aus der Toolbox in dieselbe Tabellenzelle wie das Label-Steuerelement.
  10. Wählen Sie das DropDownList-Steuerelement aus, und setzen Sie ID (oder Name) im Fenster Eigenschaften auf "selectBorderStyle".
  11. Ziehen Sie ein drittes Label-Steuerelement aus der Toolbox in die sechste Zeile und dritte Spalte der Tabelle.
  12. Wählen Sie das Label-Steuerelement aus, und setzen Sie dann Text im Fenster Eigenschaften auf "Rahmenfarbe".
  13. Ziehen Sie ein DropDownList-Steuerelement aus der Toolbox in dieselbe Tabellenzelle wie das Label-Steuerelement.
  14. Wählen Sie das DropDownList-Steuerelement aus, und setzen Sie ID (oder Name) im Fenster Eigenschaften auf "selectBorderColor".
  15. Ziehen Sie ein Button-Steuerelement aus der Toolbox in die sechste Zeile und vierte Spalte der Tabelle.
  16. Wählen Sie das Button-Steuerelement aus, und verfahren Sie dann im Fenster Eigenschaften wie folgt:
  17. Setzen Sie ID (oder Name) auf "drawBorder".
  18. Setzen Sie die Text-Eigenschaft auf "Rahmen zeichnen".

So füllen Sie die DropDownList-Steuerelemente mit Werten

Jetzt füllen Sie die DropDownList-Steuerelemente mit den Rahmenstile oder Rahmenfarben, die für das CrystalReportViewer-Steuerelement verfügbar sind. Die DropDownList-Steuerelemente werden in der ConfigureCrystalReports()-Methode mit Werten gefüllt.

Bei einer Website werden die Rahmenstile in der System.Web.UI.WebControls.BorderStyle-Enumeration gespeichert. Rahmenfarben werden aus der System.Drawing.KnownColor-Enumeration abgerufen.

  1. Fügen Sie oberhalb der Klassensignatur am Anfang der Klasse für System.Web.UI.WebControls und System.Drawing die Deklaration "Imports" [Visual Basic] oder "using" [C#] hinzu (falls dieser Namespace nicht bereits deklariert wurde).
``` vb
Imports System.Web.UI.WebControls
Imports System.Drawing
```

``` csharp
using System.Web.UI.WebControls;
using System.Drawing;
```
  1. Weisen Sie der DataSource-Eigenschaft des DropDownList-Steuerelements selectBorderStyle innerhalb der ConfigureCrystalReports()-Methode im Not IsPostBack-Bedingungsblock die BorderStyle-Enumeration zu.

    selectBorderStyle.DataSource = System.Enum.GetValues(GetType(BorderStyle))
    
    selectBorderStyle.DataSource = System.Enum.GetValues(typeof(BorderStyle));
    
  2. Binden Sie die Datenquelle an das DropDownList-Steuerelement selectBorderStyle.

    selectBorderStyle.DataBind()
    
    selectBorderStyle.DataBind();
    
  3. Weisen Sie der DataSource-Eigenschaft des DropDownList-Steuerelements selectBorderColor, während Sie sich im Not IsPostBack-Bedingungsblock befinden, die KnownColor-Enumeration zu.

``` vb
selectBorderColor.DataSource =
System.Enum.GetValues(GetType(KnownColor))
```

``` csharp
selectBorderColor.DataSource =
System.Enum.GetValues(typeof(KnownColor));
```
  1. Binden Sie die Datenquelle an das DropDownList-Steuerelement selectBorderColor.

    selectBorderColor.DataBind()
    
    selectBorderColor.DataBind();
    

So codieren Sie das Button-Steuerelement "drawBorder"

Weisen Sie anschließend den Eigenschaften BorderWidth, BorderStyle und BorderColor des CrystalReportViewer-Steuerelements Werte zu.

  1. Öffnen Sie das Web Form.

  2. Klicken Sie im Menü Ansicht auf Designer.

  3. Doppelklicken Sie auf das Button-Steuerelement drawBorder.

Die CodeBehind-Klasse des Berichts wird angezeigt. Ein drawBorder\_Click()-Ereignishandler wurde automatisch generiert.
  1. Weisen Sie innerhalb des drawBorder_Click()-Ereignishandlers den in das TextBoxborderWidth eingegebenen Text der BorderWidth-Eigenschaft des CrystalReportViewer-Steuerelements zu.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Es wurde nicht überprüft, ob eine Ganzzahl in das TextBox-Steuerelement eingegeben wurde. Bei einer Produktionsanwendung würden Sie ein Validierungssteuerelement hinzufügen, das für die Überprüfung des TextBox-Steuerelements konfiguriert ist.</p></td>
</tr>
</tbody>
</table>

``` vb
myCrystalReportViewer.BorderWidth =
Unit.Parse(borderWidth.Text.ToString())
```

``` csharp
crystalReportViewer.BorderWidth =
Convert.ToInt32(borderWidth.Text);
```
  1. Rufen Sie aus dem DropDownListselectBorderStyle den ausgewählten Index ab, und konvertieren Sie ihn in einen BorderStyle-Wert. Weisen Sie den BorderStyle-Wert der BorderStyle-Eigenschaft des CrystalReportViewer-Steuerelements zu.

    myCrystalReportViewer.BorderStyle = CType(selectBorderStyle.SelectedIndex, BorderStyle)
    
    crystalReportViewer.BorderStyle = (BorderStyle)selectBorderStyle.SelectedIndex;
    
  2. Rufen Sie das ausgewählte Element als Zeichenfolge aus dem DropDownList-Steuerelement selectBorderColor ab, und übergeben Sie es an die FromName()-Methode der Color-Klasse. Weisen Sie den Color-Wert der BorderColor-Eigenschaft des CrystalReportViewer-Steuerelements zu.

``` vb
myCrystalReportViewer.BorderColor = Color.FromName(selectBorderColor.SelectedItem.Text)
```

``` csharp
crystalReportViewer.BorderColor = Color.FromName(selectBorderColor.SelectedItem.Text);
```

So zeichnen Sie einen Rahmen um einen Crystal Reports-Bericht

  1. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

  2. Sollten Buildfehler vorhanden sein, beheben Sie diese jetzt bitte.

  3. Klicken Sie im Menü Debuggen auf Debuggen starten.

  4. Geben Sie für die Rahmenstärke 10 ein.

  5. Geben Sie für den Rahmenstil Double ein.

  6. Wählen Sie für die Rahmenfarbe SteelBlue aus.

  7. Klicken Sie auf die Schaltfläche Rahmen zeichnen.

    Die Seite wird mit einem Rahmen um den Crystal Reports-Bericht neu geladen.

  8. Kehren Sie zu Visual Studio zurück, und klicken Sie auf Debuggen beenden, um den Debugmodus zu verlassen.