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.


StartzeitpunktEndzeitpunktgewünschtes Resultat
01.01.2024 10:0001.01.2024 12:0001.01.2024 10:00 Uhr - 12:00 Uhr
01.01.2024 10:0005.01.2024 12:0001.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