Autor Beitrag
Määx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 123



BeitragVerfasst: Di 07.05.13 10:53 
Hallo zusammen,

ich habe ein DataGridView, der mir einige Informationen anzeigt. Unter anderem ist hier ein Feld dabei, dass das Datum anzeigt. Dieses formatiere ich wie folgt:
ausblenden C#-Quelltext
1:
2:
DataGridViewCellStyle styleDate = new DataGridViewCellStyle();
styleDate.Format = "ddd, HH:mm";

Wenn der Datums-Wert nicht gesetzt ist, liegt automatisch das Datum 01.01.0001 00:00:00 vor. In diesem Falle möchte ich nicht die obige Formatierung sondern "---" anzeigen. Kann man das direkt im Format angeben oder muss ich das ValueChanged-Ereigniss des DataGridViews abrufen, auf die entsprechende Spalte prüfen und dann für die Zelle immer den Style anpassen?

Vielen Dank für eure Hilfe,
Määx

Edit: ich habe es jetzt so gelöst, dass ich meinem Objekt eine weitere Variable hinzugefügt habe, die mir das Datum über den getter entsprechend formatiert als String zurück gibt. Ob obige direkte Formatierung möglich ist würde mich aber trotzdem interessieren ;)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 07.05.13 12:50 
Kann denn in deiner Datenquelle dein DateTime Wert null sein? Wenn er als DateTime? definiert ist kannst du die NullValue Property entsprechend so setzen wie du die Anzeige im Null Fall möchtest. Ansonsten ist jeder DateTime Wert ein gültiger Wert. Auch der angezeigte DateTime.MinValue und damit wäre der Fall 'Datums-Wert nicht gesetzt' gar nicht möglich.