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.
In diesem Abschnitt fügen Sie eine Schaltfläche hinzu, um den Bericht auf der Grundlage der Auswahlen im ListBox-Steuerelement defaultParameterValuesList erneut anzeigen zu lassen.
Sie rufen innerhalb der Ereignismethode für diese Schaltfläche dieselbe Methode auf, die beim ersten Laden der Seite aufgerufen wird: SetCurrentValuesForParameterField(). In diesem Fall übergeben Sie anstelle beliebiger Werte ("Paris" und "Tokyo") jedoch ausgewählte Werte aus dem ListBox-Steuerelement defaultParameterValuesList.
So erstellen und konfigurieren Sie ein Button-Steuerelement "redisplay" im Formular
Öffnen Sie das Web Form oder Windows Form.
Klicken Sie im Menü Ansicht auf Designer.
Ziehen Sie ein Button-Steuerelement aus der Toolbox rechts neben das ListBox-Steuerelement.
Klicken Sie auf das Button-Steuerelement , um es auszuwählen.
Im Fenster Eigenschaften:
- Setzen Sie ID (oder Name) auf "redisplay".
- Setzen Sie Text auf "Bericht neu anzeigen".
Sie können jetzt eine Click-Ereignismethode für das Button-Steuerelement erstellen, durch die die ausgewählten Elemente im ListBox-Steuerelement gesucht und an die SetCurrentValuesForParameterField()-Methode übergeben werden.
Abhängig davon, ob Sie ein Webprojekt oder ein Windows-Projekt erstellen, weicht Ihr Code geringfügig ab. Entscheiden Sie sich deshalb, ob Sie im Folgenden die Web- oder die Windows-Prozedur ausführen möchten.
So erstellen Sie die Click-Ereignismethode für das Button-Steuerelement "redisplay" in einem Webprojekt
Doppelklicken Sie auf das Button-Steuerelement "redisplay".
Sie wechseln zur CodeBehind-Klasse, in der automatisch eine redisplay_Click()-Ereignismethode generiert wurde.
Fügen Sie oberhalb der Klassensignatur am Anfang der Klasse für den System.Web.UI.WebControls-Namespace die Deklaration "Imports" [Visual Basic] oder "using" [C#] hinzu (falls der Namespace nicht bereits deklariert wurde).
``` vb
Imports System.Web.UI.WebControls
```
``` csharp
using System.Web.UI.WebControls;
```
<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>Diese Deklaration wird für den Zugriff auf die ListItem-Klasse benötigt.</p></td>
</tr>
</tbody>
</table>
- Deklarieren und instantiieren Sie innerhalb der gerade automatisch erstellten redisplay_Click()-Ereignismethode eine ArrayList.
``` vb
Dim myArrayList As ArrayList = New ArrayList()
```
``` csharp
ArrayList arrayList = new ArrayList();
```
Erstellen Sie eine foreach-Schleife, um die einzelnen ListItem-Instanzen aus der Items-Eigenschaft von defaultParameterValuesList abzurufen.
For Each item As ListItem In defaultParameterValuesList.Items Nextforeach(ListItem item in defaultParameterValuesList.Items) { }Erstellen Sie innerhalb der foreach-Schleife einen geschachtelten Bedingungsblock, durch den der Arraylist-Instanz die Item-Instanz hinzugefügt wird, wenn die Selected-Eigenschaft der aktuellen Item-Instanz auf "True" gesetzt ist.
If item.Selected Then myArrayList.Add(item.Value) End Ifif(item.Selected) { arrayList.Add(item.Value); }Rufen Sie außerhalb des Bedingungsblocks und außerhalb der foreach-Schleife die SetCurrentValuesForParameterField()-Methode auf, und übergeben Sie die Instanz des CustomersByCity-Berichts und die ArrayList-Instanz.
SetCurrentValuesForParameterField(customersByCityReport, myArrayList)SetCurrentValuesForParameterField(customersByCityReport, arrayList);Nachdem die ausgewählten Werte aus dem ListBox-Steuerelement als aktuelle Werte für das Parameterfeld übernommen wurden, kann der Bericht neu angezeigt werden.
Binden Sie die Instanz des CustomersByCity-Berichts an die ReportSource-Eigenschaft des CrystalReportViewer-Steuerelements.
myCrystalReportViewer.ReportSource = customersByCityReportcrystalReportViewer.ReportSource = customersByCityReport;
So erstellen Sie die Click-Ereignismethode für das Button-Steuerelement "redisplay" in einem Windows-Projekt
Doppelklicken Sie auf das Button-Steuerelement "redisplay".
Sie wechseln zur CodeBehind-Klasse, in der automatisch eine redisplay_Click()-Ereignismethode generiert wurde.
Deklarieren und instantiieren Sie innerhalb der gerade automatisch erstellten redisplay_Click()-Ereignismethode eine ArrayList.
``` vb
Dim myArrayList As ArrayList = New ArrayList()
```
``` csharp
ArrayList arrayList = new ArrayList();
```
Erstellen Sie eine foreach-Schleife, um jedes Element (als Zeichenfolge) aus der SelectedItems-Eigenschaft von defaultParameterValuesList abzurufen.
For Each item As String In defaultParameterValuesList.SelectedItems Nextforeach(string item in defaultParameterValuesList.SelectedItems) { }Fügen Sie der ArrayList-Instanz innerhalb des Bedingungsblockes eine item-Zeichenfolgeninstanz hinzu.
myArrayList.Add(item)arrayList.Add(item);Rufen Sie außerhalb des Bedingungsblocks und außerhalb der foreach-Schleife die SetCurrentValuesForParameterField()-Methode auf, und übergeben Sie die instanz des Berichts "CustomersByCity" und die ArrayList-Instanz.
SetCurrentValuesForParameterField(customersByCityReport, myArrayList)SetCurrentValuesForParameterField(customersByCityReport, arrayList);Nachdem die ausgewählten Werte aus dem ListBox-Steuerelement als aktuelle Werte für das Parameterfeld übernommen wurden, kann der Bericht neu angezeigt werden.
Binden Sie die CustomersByCity-Berichtinstanz erneut an die ReportSource-Eigenschaft des CrystalReportViewer-Steuerelements.
myCrystalReportViewer.ReportSource = customersByCityReportcrystalReportViewer.ReportSource = customersByCityReport;
So überprüfen Sie, ob das ListBox-Steuerelement defaultParameterValuesList mit Werten gefüllt wird
Sie können das Projekt jetzt erstellen und ausführen, um zu überprüfen, ob das Parameterfeld erfolgreich zurückgesetzt wurde.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Sollten Buildfehler vorhanden sein, beheben Sie diese jetzt bitte.
Klicken Sie im Menü Debuggen auf Debuggen starten.
Klicken Sie im ListBox-Steuerelement bei gedrückter STRG-TASTE auf mindestens vier unterschiedliche Orte in der Liste.
Klicken Sie auf Bericht neu anzeigen.
Die Seite wird neu geladen und enthält die Datensätze der Kunden, die in den gerade ausgewählten Orten ansässig sind.
- Kehren Sie zu Visual Studio zurück, und klicken Sie auf Debuggen beenden, um den Debugmodus zu verlassen.
Wenn Sie mit einer Windows-Anwendung arbeiten, sind Sie jetzt fertig. Falls Sie eine Website erstellen, fahren Sie mit Konfigurieren der Persistenz von Parametern fort.