2016-08-01 74 views
0

我遇到了我的DateTimePicker問題。我已按照所有示例將我的DateTimePicker設置爲空白。代碼如下所示:將DateTimePicker設置爲Null並保存到數據庫

dtpCloseDate.Checked = false; 
dtpCloseDate.ShowCheckBox = false; 

if (dtpCloseDate.Checked == false) 
{ 
    dtpCloseDate.CustomFormat = " "; 
    dtpCloseDate.Format = DateTimePickerFormat.Custom; 
} 

因此,與在那裏空白加載DateTimePicker負載時了這一偉大工程。然而,幕後實際上有一個日期正在加載到這個。所以我保存到數據庫,它有一個日期。另外,我正試圖驗證此截止日期是在開放日期之後。我確實有驗證,但目前總是觸發它,因爲在截止日期之前有一個顯然在開放日期之前的日期。

+0

什麼日期節省? –

+0

當前日期時間正被保存到數據庫中。 – j5juice

+0

我也無法讓它工作。我會開始考慮一個解決方法 - 比如有一個固定的日期0並測試它而不是null。您可能會嘗試讓您的數據庫允許空值,然後不要插入該字段。 – Missy

回答

1

也許這樣做:

dtpCloseDate.Checked = false; 
dtpCloseDate.ShowCheckBox = false; 

if (dtpCloseDate.Checked == false) 
{ 
    dtpCloseDate.CustomFormat = " "; 
    dtpCloseDate.Format = DateTimePickerFormat.Custom; 
    dtpCloseDate.Value = DateTime.MinValue; 
} 

設定日期到絕對零度。然後測試,當加載/保存到數據庫/做任何你想做的事情:

if (dtp.Value == DateTime.MinValue) { ... } 
+0

是的,解決方法是需要的。所以我將它設置爲'DateTime.FromOADate(0)',因爲'DateTime.MinValue'不想工作。然後,我只是在我正在加載/保存或驗證的地方使用:if(dtp.Value == DateTime.FromOADate(0)){...}。 – j5juice

+0

真棒,MinValue的事情可能是我的錯。我沒有運行代碼... –