Berechnen von Feldern in Berichten
Mit dem Berichts-Designer können Felder in einem Bericht erstellt werden, die nicht in der Datenquelle vorhanden sind. Dies ist hilfreich, wenn Sie ein dynamisches Feld erstellen möchten, das von anderen Attributen innerhalb der Datenquelle abhängig ist. Sie können zum Erstellen eines dynamischen Feldes einen C#-Ausdruck verwenden und mit den Feldern vom Typ "Datum", "Zeichenfolge" oder "Zahl" arbeiten.
Es gibt zwei Wege, berechnete Felder im Berichts-Designer zu erstellen. Die erste Methode besteht darin, dem Bericht ein Textfeld hinzuzufügen und einen Ausdruck in das Textfeld einzugeben, der dann beim Generieren des Berichts ausgeführt wird. Eine Anleitung mit Beispielen zu Ausdrücken finden Sie weiter unten. Die zweite Methode besteht darin, dem Bericht ein ungebundenes Feld "Berechnet" hinzuzufügen. Sie können dies nur in der Strukturansicht "Berichtsabschnitt" vornehmen. Klicken Sie mit der rechten Maustaste in der Strukturansicht auf den Knoten "Berechnet", und wählen Sie "Hinzufügen" aus. Sie erstellen so ein ungebundenes Feld, das im Bericht verwendet werden kann. Der Ausdruck des ungebundenen Feldes sollte in der Eigenschaft "Formel" des Feldes festgelegt werden. Wenn Sie die Formel festgelegt haben, ziehen Sie das Feld an die Position im Bericht, an der Sie es verwenden möchten.
Mit ungebundenen Feldern können Sie andere ungebundene Felder in der Formel verwenden. Als Ergebnis können Sie Zusammenfassungsfelder erstellen, die ungebundene Felder dazu verwenden, dynamischen Inhalt im Bericht zu generieren.

Sie können keine ungebundenen berechneten Felder verwenden, um Zusammenfassungsstatistiken zu berechnen, die andere Zusammenfassungsstatistiken in der Formel verwenden.
- Öffnen Sie einen Bericht im Berichts-Designer.
- Klicken Sie in der Liste Designelemente auf TextBox, und ziehen Sie das Element an die gewünschte Position im Berichts-Layout.
-
Geben Sie im Bereich Datenfeld unter Elementeigenschaften einen Ausdruck ein. Ausdrücke beginnen stets mit dem Gleichheitszeichen (=).
Mathematisch
=Quantity + 5
=Quantity - 3
=Diameter * 3.14
=Population / Area
=(double)System.Math.Round(CostPerUnit*Inventory)
Weitere Informationen zu den unterstützten mathematischen Funktionen finden Sie in der MSDN-Hilfe für die Math-Klasse.
Bedingung
=(ValueField == 1)?"One":"Not One"
=(Price < 10)?"Clearance":"Price-Change"
=(SoilType == System.DBNull.Value) ? "No soil type specified" : SoilType
Datum/Uhrzeit
=System.DateTime.Now.ToString()
=System.DateTime.UtcNow.ToString()
Weitere Informationen zu den unterstützten Funktionen für Datums-/Uhrzeitwerte finden Sie in der MSDN-Hilfe für die DateTime-Struktur.
Verkettet
="Average Cost: " + avgCostField
=ZipCode + ZipCode4Digit
String
=Name.Substring(0,4)
=Name.Replace("Test", "Final")
=Name.ToUpper()
Weitere Informationen zu den unterstützten Funktionen für Zeichenfolgen finden Sie in der MSDN-Hilfe für die String-Klasse.
- Klicken Sie auf Bericht ausführen, um eine Vorschau zu erhalten.