2016-08-01 31 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的事情可能是我的错。我没有运行代码... –

相关问题