Konfigurieren der ListBox-Steuerelemente für ein Windows-Projekt

In diesem Abschnitt wird erläutert, wie Sie ListBox-Steuerelemente für ein Windows-Projekt konfigurieren. Falls Sie eine Website erstellen, informieren Sie sich unter Konfigurieren der ListBox-Steuerelemente für eine Website.

Jetzt können Sie den Click-Ereignishandler für das Button-Steuerelement erstellen und diesem Ereignishandler dann Code hinzufügen. Durch den Ereignishandler werden verschiedene boolesche Werte für die Symbolleisteneigenschaften der CrystalReportViewer-Klasse auf der Grundlage von Werten festgelegt, die Anwender im ListBox-Steuerelement auswählen.

Vor diesem Ereignishandler müssen jedoch zwei Enumerationen erstellt werden: CeWinCRVReportOptions und CeWinCRVToolbarOptions.

Diese Enumerationen stellen eine Liste von Bericht- und Symbolleistenelementen zur Auswahl bereit.

So erstellen Sie die CeWinCRVReportOptions-Enumeration

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den fett formatierten Projektnamen, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Klasse .

  2. Geben Sie im Dialogfeld Neues Element hinzufügen im Feld NameCeWinCRVReportOptions ein, und klicken Sie dann auf Hinzufügen.

<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>In Visual Studio werden Sie möglicherweise aufgefordert, diese Klasse in einem App_Code-Verzeichnis abzulegen. Klicken Sie auf die Schaltfläche Ja.</p></td>
</tr>
</tbody>
</table>
  1. Ändern Sie in der Klassensignatur das Wort "class" in "enum", um die Klasse in eine Enumeration zu konvertieren.

    NoteAnmerkung

    Denken Sie in Visual Basic daran, sowohl die öffnende als auch die schließende Signatur der Klasse in eine Enumeration (enum) zu ändern.

  2. Da Enumerationen keine Konstruktoren besitzen, löschen Sie die in der C#-Version des Codes enthaltene standardmäßige Konstruktormethode.

  3. Geben Sie innerhalb der Enumeration folgende Werte ein:

    Toolbar
    Group_Tree
    Status_Bar
    
    Toolbar,
    Group_Tree,
    Status_Bar
    
  4. Klicken Sie im Menü Datei auf Alle speichern.

So erstellen Sie die CeWinCRVToolbarOptions-Enumeration

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den fett formatierten Projektnamen, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Klasse .

  2. Geben Sie im Dialogfeld Neues Element hinzufügen im Feld Name "CeWinCRVToolbarOptions" ein, und klicken Sie dann auf Hinzufügen.

<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>Sie werden u.U. aufgefordert, diese Klasse in ein App_Code-Verzeichnis einzufügen. Klicken Sie auf die Schaltfläche Ja.</p></td>
</tr>
</tbody>
</table>
  1. Ändern Sie in der Klassensignatur das Wort "class" in "enum", um die Klasse in eine Enumeration zu konvertieren.
<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>Denken Sie in Visual Basic daran, sowohl die öffnende als auch die schließende Signatur der Klasse in eine Enumeration (enum) zu ändern.</p></td>
</tr>
</tbody>
</table>
  1. Da Enumerationen keine Konstruktoren besitzen, löschen Sie die in der C#-Version des Codes enthaltene standardmäßige Konstruktormethode.

  2. Geben Sie innerhalb der Enumeration folgende Werte ein:

    Page_Navigation_Button
    Go_to_Page_Button
    Close_View_Button
    Print_Button
    Refresh_Button
    Export_Button
    Group_Tree_Button
    Zoom_Button
    Search_Button
    
    Page_Navigation_Button,
    Go_to_Page_Button,
    Close_View_Button,
    Print_Button,
    Refresh_Button,
    Export_Button,
    Group_Tree_Button,
    Zoom_Button,
    Search_Button
    
  3. Klicken Sie im Menü Datei auf Alle speichern.

So füllen Sie die ListBox-Steuerelemente mit Enumerationswerten

Jetzt füllen Sie die ListBox-Steuerelemente mit Enumerationswerten, die die für die CrystalReportViewer-Symbolleiste verfügbaren Eigenschaften darstellen.

  1. Öffnen Sie das Windows Form.

  2. Klicken Sie im Menü Ansicht auf Code.

  3. Setzen Sie die DataSource-Eigenschaft des ListBox-Steuerelements listCRVReport innerhalb der ConfigureCrystalReports()-Methode auf die Werte der CeWinCRVReportOptions-Enumeration.

<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>Die ConfigureCrystalReports()-Methode wurde während des <a href="https://msdn.microsoft.com/de-de/library/vs%7ccrystlmn%7c%7e%5chtml%5ctopic168.htm(v=VS.90)">Projekt-Setup</a>s am Anfang dieses Lernprogramms erstellt. Um dieses Lernprogramm erfolgreich abzuschließen, beginnen Sie mit dem <a href="https://msdn.microsoft.com/de-de/library/vs%7ccrystlmn%7c%7e%5chtml%5ctopic168.htm(v=VS.90)">Projekt-Setup</a>.</p></td>
</tr>
</tbody>
</table>

``` vb
listCRVReport.DataSource =
System.Enum.GetValues(GetType(CeWinCRVReportOptions))
```

``` csharp
listCRVReport.DataSource =
System.Enum.GetValues(typeof(CeWinCRVReportOptions));
```
  1. Setzen Sie die DataSource-Eigenschaft des ListBox-Steuerelements listCRVToolbar auf die Werte der CeWinCRVToolbarOptions-Enumeration.

    listCRVToolbar.DataSource =
    System.Enum.GetValues(GetType(CeWinCRVToolbarOptions))
    
    listCRVToolbar.DataSource =
    System.Enum.GetValues(typeof(CeWinCRVToolbarOptions));
    
  2. Binden Sie die Datei "Chart.rpt" an die ReportSource-Eigenschaft von CrystalReportViewercontrol.

    Informationen zu Musterberichten finden Sie unter Verzeichnis "Samples".

    myCrystalReportViewer.ReportSource = "C:\Programme\Microsoft Visual Studio 8\Crystal Reports\Samples\De\Reports\Feature Examples\Chart.rpt"
    
    crystalReportViewer.ReportSource = "C:\\Programme\\Microsoft Visual Studio 8\\Crystal Reports\\Samples\\De\\Reports\\Feature Examples\\Chart.rpt";
    

So codieren Sie das Button-Steuerelement "redisplay" für ein Windows-Projekt

Jetzt können Sie dem Click-Ereignis des Button-Steuerelements Code hinzufügen. Durch die Click-Methode müssen boolesche Werte für die Bericht- und Symbolleistenelemente der CrystalReportViewer-Klasse festgelegt werden. Sobald ein Element ausgewählt wird, wird der boolesche Wert auf "true" gesetzt und das Bericht- oder Symbolleistenelement angezeigt. Wird eine Eigenschaft nicht ausgewählt, wird der boolesche Wert auf "False" gesetzt und das Bericht- oder Symbolleistenelement nicht angezeigt.

  1. Öffnen Sie das Windows Form.

  2. Klicken Sie im Menü Ansicht auf Designer.

  3. Doppelklicken Sie auf das Button-Steuerelement redisplay.

Die CodeBehind-Klasse des Berichts wird angezeigt. Eine redisplay\_Click()-Ereignismethode wurde automatisch generiert.
  1. Rufen Sie die GetSelected()-Methode innerhalb der redisplay_Click()-Ereignismethode auf, und übergeben Sie jedes im ListBox-Steuerelement enthaltene Element.
Die GetSelected()-Methode gibt einen booleschen Wert zum Festlegen der Bericht- oder Symbolleisteneigenschaften von CrystalReportViewer zurück.

<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>Die CrystalReportViewer-Bericht- und -Symbolleistenelemente werden in den Enumerationen CeWinCRVReportOptions und CeWinCRVToolbarOptions auf ihre entsprechenden Werte gesetzt.</p></td>
</tr>
</tbody>
</table>

``` vb
myCrystalReportViewer.ShowPageNavigateButtons =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Page_Navigation_Button)
myCrystalReportViewer.ShowGotoPageButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Go_to_Page_Button)
myCrystalReportViewer.ShowCloseButton = listCRVToolbar.
GetSelected(CeWinCRVToolbarOptions.Close_View_Button)
myCrystalReportViewer.ShowPrintButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Print_Button)
myCrystalReportViewer.ShowRefreshButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Refresh_Button)
myCrystalReportViewer.ShowExportButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Export_Button)
myCrystalReportViewer.ShowGroupTreeButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Group_Tree_Button)
myCrystalReportViewer.ShowZoomButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Zoom_Button)
myCrystalReportViewer.ShowTextSearchButton =
listCRVToolbar.GetSelected(CeWinCRVToolbarOptions.Search_Button)

myCrystalReportViewer.DisplayToolbar =
listCRVReport.GetSelected(CeWinCRVReportOptions.Toolbar)
myCrystalReportViewer.DisplayGroupTree =
listCRVReport.GetSelected(CeWinCRVReportOptions.Group_Tree)
myCrystalReportViewer.DisplayStatusBar =
listCRVReport.GetSelected(CeWinCRVReportOptions.Status_Bar)
```

``` csharp
crystalReportViewer.ShowPageNavigateButtons =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Page_Navigation_Button));
crystalReportViewer.ShowGotoPageButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Go_to_Page_Button));
crystalReportViewer.ShowCloseButton = listCRVToolbar.
GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Close_View_Button));
crystalReportViewer.ShowPrintButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Print_Button));
crystalReportViewer.ShowRefreshButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Refresh_Button));
crystalReportViewer.ShowExportButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Export_Button));
crystalReportViewer.ShowGroupTreeButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Group_Tree_Button));
crystalReportViewer.ShowZoomButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Zoom_Button));
crystalReportViewer.ShowTextSearchButton =
listCRVToolbar.GetSelected(Convert.ToInt32(CeWinCRVToolbarOptions.Search_Button));

crystalReportViewer.DisplayToolbar =
listCRVReport.GetSelected(Convert.ToInt32(CeWinCRVReportOptions.Toolbar));
crystalReportViewer.DisplayGroupTree =
listCRVReport.GetSelected(Convert.ToInt32(CeWinCRVReportOptions.Group_Tree));
crystalReportViewer.DisplayStatusBar =
listCRVReport.GetSelected(Convert.ToInt32(CeWinCRVReportOptions.Status_Bar));
```

So testen Sie das Button-Steuerelement "redisplay"

Sie können das Projekt jetzt erstellen und ausführen, um die CrystalReportViewer-Symbolleiste anzupassen.

  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.

Die ListBox-Steuerelemente listCRVReport und listCRVToolbar zeigen eine vollständige Liste von CrystalReportViewer-Bericht- und -Symbolleistenoptionen an.
  1. Wählen Sie im Listenfeld mit Symbolleistenoptionen "Page_Navigation_Button", "Print_Button" und "Export_Button".

  2. Wählen Sie im Listenfeld mit Berichtoptionen "Toolbar", "Group_Tree" und "Main_Page".

  3. Klicken Sie auf Bericht neu anzeigen.

    Die Seite wird erneut geladen und zeigt ein CrystalReportViewer-Steuerelement mit einer sichtbaren Symbolleiste, Gruppenstruktur und Hauptseite an. Auf der Symbolleiste sind nur die Schaltflächen zur Seitennavigation sowie zum Drucken und Exportieren sichtbar.

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