Bericht: Datum/Zeit formatieren in Banded Report
Frage 1
Wenn ich im Text eines Labels folgende Felder einfüge
[Event.StartDate] - [Event.EndDate]
erscheint neben dem Datum auch die Zeit:
15.01.2300 00:00:00 - 16.01.2300 00:00:00
Ich möchte aber nur das Datum angezeigt bekommen.
Antwort 1
Dazu braucht es einem Formatstring, der mit einem !
getrennt eingefügt wird:
[Event.StartDate!dd.MM.yyyy] - [Event.EndDate!dd.MM.yyyy]
Die Ausgabe ist dann wie gewünscht:
15.01.2300 - 16.01.2300
Artikel im DevExpress Support Center
Frage 2
Ich möchte die Zeit formatieren
[Event.StartTime] - [Event.EndTime]
dass es so aussieht
12:30 - 16:30
Antwort 2
Dazu braucht es einem Formatstring, der mit einem !
getrennt eingefügt wird:
[Event.StartTime!HH:mm] - [Event.EndTime!HH:mm]
Die Ausgabe ist dann wie gewünscht.
ACHTUNG: wird die Formatierung als "hh:mm", also mit kleinem "h" angegeben, so werden die Stunden im 12er System angezeigt, also z.B. 4 für 16Uhr.
Frage 3
Ich möchte, wenn das Datum von Start- und Endzeitpunkt gleich sind nur die Zeit, sonst auch das Datum vom Endzeitpunkt auflisten.
Startzeitpunkt | Endzeitpunkt | gewünschtes Resultat |
---|---|---|
01.01.2024 10:00 | 01.01.2024 12:00 | 01.01.2024 10:00 Uhr - 12:00 Uhr |
01.01.2024 10:00 | 05.01.2024 12:00 | 01.01.2024 10:00 Uhr - 05.01.2024 12:00 Uhr |
Antwort 3
Dazu macht man am einfachsten ein RichText Field und ein Formelfeld.
Im RichTextField folgender Text: [DateTimeFrom!dd.MM.yyyy HH:mm] Uhr - [cstDateTimeTo] Uhr
das Feld cstDateTimeTo ist eine Formel mit folgender Expression: Formel für cstDateTimeTo:
Iif(GetDate([DateTimeFrom])==GetDate([DateTimeTo]),FormatString('{0:HH:mm}',[DateTimeTo])
,FormatString('{0:dd.MM.yyyy HH:mm}',[DateTimeTo]))
Verwandte Artikel