Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Ist es möglich in einem DateTime '01.01.0001' zu unterdrücken (analog Zahlen)?
Brendan
myCSharp.de - Member



Dabei seit:
Beiträge: 39

Themenstarter:

Ist es möglich in einem DateTime '01.01.0001' zu unterdrücken (analog Zahlen)?

beantworten | zitieren | melden

Guten Tag,

Wir verwenden in unserer Anwendung den TrueDBGrid von ComponentOne.
In den Columns gibt es ein Property namens NumberFormat, in dem man Format-Strings hinterlegen kann.
Bisher haben wir bei Zahlen über den entsprechenden Format-String die Darstellung von Nullwerten - also z.B. 0,00 - unterdrückt.
Nun ist bei uns die Frage aufgetaucht, ob man dasselbe für DateTime-Felder machen könnte, die in den Daten z.B. "01.01.0001" enthalten.
Bisher ist für Datumsfelder als NumberFormat "d" für ShortDate eingestellt.

Weiß jemand Rat?

Mit freundlichen Grüßen und schönes Wochenende,
Brendan
Die Lösung ist immer ganz einfach.
Nur der Weg dorthin ist schwierig!
private Nachricht | Beiträge des Benutzers
Khalid
myCSharp.de - Experte

Avatar #avatar-2534.gif


Dabei seit:
Beiträge: 3627
Herkunft: Hannover

beantworten | zitieren | melden

Hallo,

zu deinem eigentlichen Problem mit dem Grid kann ich nichts sagen, aber warum verwendet ihr keine Nullable Typen um festzustellen, ob überhaupt ein Wert vorhanden ist? Denn auch 0,00 könnte ja tatsächlich ein gültiger Wert sein, der dann aber ausgeblendet wird. Bei einem Nullable kommt das nicht vor.

Gruß
Khalid
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
private Nachricht | Beiträge des Benutzers
Ahrimaan
myCSharp.de - Member



Dabei seit:
Beiträge: 363
Herkunft: Thorn

beantworten | zitieren | melden

Hi,

01.01.0001 ist gleich DateTime.MinValue.
Wenn du dieses also abfragst solltest du es auf Null setzen können oder leer oder was auch immer du setzen willst .

Grüße
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16145

beantworten | zitieren | melden

Dass der Wert der MinValue entspricht, ist bei dieser Art von Datentyp aber Zufall.
Besser ist bei DateTime und andren Sturkturen den Default-Value abzufragen, ob diese dem Urzustand entsprechen.

In diesem Fall ist es aber deutlich besser ein Nullable<T> einzuführen und gegen null zu prüfen.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers