Ich entwickle eine WinForms-Benutzeroberfläche mit zwei DateTimePicker
-Steuerelementen. Zunächst möchte ich den Wert der Steuerelemente auf null festlegen, bis ein Benutzer ein Datum auswählt. Wenn der Benutzer kein Datum auswählt, übergibt er einen Wert von null an die Datenbank.
Standardmäßig wird das aktuelle Datum verwendet.
Könnten Sie bitte etwas vorschlagen oder einen Code anhängen, der mir hilft?
Ich habe versucht, die Eigenschaft MinDate
einzustellen, aber es funktioniert nicht.
Der Code ist in C # .Net.
Danke, Manali.
Ich denke, die beste Lösung besteht darin, das integrierte Kontrollkästchen zu verwenden, das dem Benutzer mitteilt, ob ein Wert angegeben ist oder nicht.
Legen Sie die Steuerelementeigenschaft ShowCheckBox = true
Wenn Sie den Wert an ihn binden, machen Sie etwas wie
%Vor% Wenn Sie den Wert zurücklesen, überprüfen Sie die Eigenschaft Checked
.
Wenn Ihnen der angezeigte Wert nicht gefällt, können Sie ihn mit den anderen Vorschlägen kombinieren.
%Vor%Ich weiß, dass es sich um einen älteren Beitrag handelt, aber andere finden das vielleicht noch nützlich. Es ist ziemlich elegant und prägnant. Ich benutzte dies mit einem .Net 4.0 DateTimePicker, aber frühere Versionen sollten mit minimaler Optimierung funktionieren. Es nutzt MinDate und Checked.
%Vor% Um den Nullwert in DateTimePicker
control anzuzeigen, nehmen Sie die folgenden Änderungen in der Designer.cs
-Datei vor:
Wenn der Benutzer ein Datum auswählt, geben Sie die Eigenschaft ValueChanged
des Steuerelements ein und erstellen Sie das Format entsprechend Ihren Anforderungen. Dies zeigt das Datum im Steuerelement an.
Bei der obigen Anzeige wird das Steuerelement in der Benutzeroberfläche als leer angezeigt, der Standardwert ist jedoch immer noch das aktuelle Datum.
Wenn Sie den Wert als Null oder als leere Zeichenfolge festlegen / initialisieren möchten:
temp = DateTimePicker.CustomFormat.ToString();
Dies ist die einfachste Problemumgehung, die ich gefunden habe.
Möglicherweise müssen Sie ein UserControl mit der Appearance einer TextBox erstellen, und wenn der Benutzer auf eine Calendar Show klickt, wenn Sie ein Date auswählen, legen Sie es auf die TextBox fest. Es erlaubt Nullwerte.
Der DateTimePicker erlaubt kein Null.
Nehmen wir an, dtpStartDate
ist Ihr DateTimePicker-Steuerelement.
Schreiben Sie diesen Code in Page_Load -
%Vor%Schreiben Sie diesen Code im Value_Changed-Ereignis -
%Vor%hier gewählt "kurz" als Format. Sie können "Long" und andere verfügbare Optionen auswählen.
Dies ist der Code eines nullbaren Datetime-Pickers, den ich verwende:
%Vor%Tags und Links c# winforms datetimepicker