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üllen Sie das DropDownList-Steuerelement mit Vergleichsoperatoren. Sie erstellen eine aus Vergleichsoperatoren bestehende Enumeration.
Durch das DropDownList-Steuerelement wird ausgewählt, ob Sie Kunden anzeigen lassen möchten, deren Namen gleich, kleiner als, größer als, kleiner als oder gleich, größer als oder gleich oder ungleich dem Text sind, den Sie in das TextBox-Steuerelement eingegeben haben
Ändern Sie in der redisplay_Click()-Ereignismethode die Zeichenfolge, die der SelectionFormula-Eigenschaft des CrystalReportViewer-Steuerelements derzeit zugewiesen ist.
So erstellen Sie die CeComparisonOperator-Enumeration
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den fett formatierten Projektnamen, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element hinzufügen.
Wählen Sie im Dialogfeld Neues Element hinzufügen in der Ansicht Vorlagen den Eintrag Klasse aus.
Geben Sie im Feld NameCeComparisonOperator ein, und klicken Sie 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 Codeverzeichnis einzufügen. Klicken Sie auf die Schaltfläche Ja.</p></td>
</tr>
</tbody>
</table>
Ändern Sie in der Klassensignatur das Wort "class" in "enum", um die Klasse in eine Enumeration zu konvertieren.
In einem C# Windows-Projekt müssen Sie außerdem den Namespace in den Namen des Projekts ändern.
AnmerkungDenken Sie in Visual Basic daran, sowohl die öffnende als auch die schließende Signatur der Klasse in eine Enumeration (enum) zu ändern.
Da Enumerationen keine Konstruktoren besitzen, löschen Sie die in der C#-Version des Codes enthaltene standardmäßige Konstruktormethode.
Geben Sie innerhalb der Enumeration folgende Werte ein:
EqualTo LessThan GreaterThan LessThan_or_EqualTo GreaterThan_or_EqualTo Not_EqualToEqualTo, LessThan, GreaterThan, LessThan_or_EqualTo, GreaterThan_or_EqualTo, Not_EqualTo
So füllen Sie das DropDownList-Steuerelement bei einer Website mit Werten aus der CeComparisonOperator-Enumeration
Die folgenden Anleitungen zeigen, wie Sie die CeComparisonOperator-Enumeration für ein Website- oder Windows-Projekt an das DropDownList-Steuerelement binden. Befolgen Sie die Schritte in einer der unten aufgeführten schrittweisen Anleitungen.
Öffnen Sie das Web Form.
Klicken Sie im Menü Ansicht auf Code.
Setzen Sie die DataSource-Eigenschaft des DropDownList-Steuerelements innerhalb des Not IsPostBack-Bedingungsblocks der ConfigureCrystalReports()-Methode und vor der Zeichenfolgendeklaration der Auswahlformel auf die Werte der CeComparisonOperator-Enumeration.
``` vb
selectOperatorList.DataSource =
System.Enum.GetValues(GetType(CeComparisonOperator))
```
``` csharp
selectOperatorList.DataSource =
System.Enum.GetValues(typeof(CeComparisonOperator));
```
- Rufen Sie jetzt die DataBind()-Methode des DropDownList-Steuerelements selectOperatorList auf, um die Werte an das Steuerelement zu binden.
``` vb
selectOperatorList.DataBind()
```
``` csharp
selectOperatorList.DataBind();
```
So füllen Sie das DropDownList-Steuerelement bei einem Windows-Projekt mit Werten aus der CeComparisonOperator-Enumeration
Öffnen Sie das Windows Form.
Klicken Sie im Menü Ansicht auf Code.
Setzen Sie die DataSource-Eigenschaft des ComboBox-Steuerelements selectOperatorList innerhalb der ConfigureCrystalReports()-Methode und vor der Zeichenfolgendeklaration der Auswahlformel auf die Werte der CeComparisonOperator-Enumeration.
``` vb
selectOperatorList.DataSource =
System.Enum.GetValues(GetType(CeComparisonOperator))
```
``` csharp
selectOperatorList.DataSource =
System.Enum.GetValues(typeof(CeComparisonOperator));
```
So erstellen Sie die GetSelectedCompareOperator()-Hilfsmethode
Als Nächstes erstellen Sie die GetSelectedCompareOperator()-Hilfsmethode, um den ausgewählten Index als Zeichenfolge zurückzugeben, die ein Zeichen eines Vergleichsoperators darstellt.
- Erstellen Sie am Ende der Klasse eine private Hilfsmethode mit dem Namen GetSelectedCompareOperator(), die eine Zeichenfolgenvariable zurückgibt.
``` vb
Private Function GetSelectedCompareOperator() As String
End Function
```
``` csharp
private string GetSelectedCompareOperator()
{
}
```
- Erstellen Sie innerhalb der Methode eine "Select Case" [Visual Basic]- oder "switch" [C#]-Anweisung, die auf die Elemente der CeComparisonOperator-Enumeration verweist und das Zeichen des Vergleichsoperators als Zeichenfolgenvariable zurückgibt.
``` vb
Select Case selectOperatorList.SelectedIndex
Case CeComparisonOperator.EqualTo
return "="
Case CeComparisonOperator.LessThan
return "<"
Case CeComparisonOperator.GreaterThan
return ">"
Case CeComparisonOperator.LessThan_or_EqualTo
return "<="
Case CeComparisonOperator.GreaterThan_or_EqualTo
return ">="
Case CeComparisonOperator.Not_EqualTo
return "<>"
Case Else
return "="
End Select
```
``` csharp
switch ((CeComparisonOperator)selectOperatorList.SelectedIndex)
{
case CeComparisonOperator.EqualTo:
return "=";
case CeComparisonOperator.LessThan:
return "<";
case CeComparisonOperator.GreaterThan:
return ">";
case CeComparisonOperator.LessThan_or_EqualTo:
return "<=";
case CeComparisonOperator.GreaterThan_or_EqualTo:
return ">=";
case CeComparisonOperator.Not_EqualTo:
return "<>";
default:
return "=";
}
```
So ändern Sie den Vergleichsoperator für das Feld "Kundenname", der der SelectionFormula-Eigenschaft zugewiesen wurde
In der redisplay_Click()-Ereignismethode wird zur Auswahl aus dem Feld "Kundenname" derzeit ein Größer-als-Zeichen (">") verwendet. Als Nächstes erfahren Sie, wie Sie das Zeichen in das Zeichen des Vergleichsoperators ändern, der aus dem DropDownList-Steuerelement ausgewählt wurde. Das ausgewählte Zeichen wird beim Aufrufen der GetSelectedCompareOperator()-Hilfsmethode als Zeichenfolge zurückgegeben.
- Rufen Sie am Anfang der redisplay_Click()-Ereignismethode die GetSelectedCompareOperator()-Hilfsmethode auf, und weisen Sie das Ergebnis einer Zeichenfolgenvariablen zu.
``` vb
Dim mySelectedOperator As String = GetSelectedCompareOperator()
```
``` csharp
string selectedOperator = GetSelectedCompareOperator();
```
Ersetzen Sie das Größer-als-Zeichen (">") bei der Zeichenfolgenvariablen für die Auswahlformel durch die ausgewählte Operatorzeichenfolge.
Dim mySelectFormula As String = "{Customer.Last Year's Sales} > " & lastYearsSales.Text _ & " AND Mid({Customer.Customer Name}, 1) " & mySelectedOperator & " """ & customerName.Text & """"string selectFormula = "{Customer.Last Year's Sales} > " + lastYearsSales.Text + " AND Mid({Customer.Customer Name}, 1) " + selectedOperator + " \"" + customerName.Text + "\"";
So testen Sie die Auswahlformel für den Bericht "CustomersBySalesName"
Sie haben eine Auswahlformel erstellt, die von den für die Felder "Vorjahresumsatz" und "Kundenname" eingegebenen Werten abhängig ist.
Jetzt können Sie die Auswahlformel erstellen und testen.
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.
1. Geben Sie im TextBox-Steuerelement lastYearsSales den Wert 40.000 ein.
2. Geben Sie im TextBox-Steuerelement customerName Athens Bicycle Co. ein.
3. Wählen Sie aus DropDownList den Eintrag LessThan.
4. Klicken Sie auf Bericht neu anzeigen.
Im Crystal Reports-Bericht werden zwei Kundendatensätze angezeigt: Alley Cat Cycles und Ankara Bicycle Company.
- Kehren Sie zu Visual Studio zurück, und klicken Sie auf Debuggen beenden, um den Debugmodus zu verlassen.