datetimepicker的赋值问题

tenkol 2008-10-20 11:44:36
看了些之前论坛上的关于datetimepicker的赋值问题的帖子,还是解决不了小弟的问题。。。
小弟想用datetimepicker来显示,修改数据库中一数据类型为datetime的字段,问题在于,该字段不一定有值!可是datetimepicker显示的值不能为空,默认为当前的日期,如果用户不修改datetimepicker的值而保存数据的话,那么数据库中该字段的值就自动变成当前日期的值了,那数据就不对了。。。曾想过使用TextBox来代替,可是必须要限制用户输入的格式,防止保存数据时出错!而TextBox件又没有FORMAT这一属性。。。头大了,哪位大大有比较好的解决方法?小弟在此先谢过了!
...全文
1036 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
appleller 2008-10-20
  • 打赏
  • 举报
回复
我也问过
http://topic.csdn.net/u/20081005/21/ee42b031-95e4-4c81-ba64-5cbc2d6b4903.html
rockyvan 2008-10-20
  • 打赏
  • 举报
回复
datetimepicker1.customformat="yyyy-mm-dd"
但是月份却显示为"00"。。。真奇怪
-------------------------------------------
月份要用大寫M,分鐘才用小寫m
即:"yyyy-MM-dd"
tenkol 2008-10-20
  • 打赏
  • 举报
回复
搞错了,应该是这样

当用户想进行修改的时候,在datetimepicker1的DropDown事件中:
datetimepicker1.customformat="yyyy-mm-dd"
tenkol 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 appleller 的回复:]
我也问过
http://topic.csdn.net/u/20081005/21/ee42b031-95e4-4c81-ba64-5cbc2d6b4903.html
[/Quote]

这个我明白,问题是如果从用户的角度来看的话,就不大好了,因为,日期本来是空的,但硬是要显示出某一个特定值。。。

我想到了一个办法:
if isdbnull(日期字段) then
datetimepicker1.format= Windows.Forms.DateTimePickerFormat.Custom
datetimepicker1.customformat=" "
endif
这样当日期字段的值为null的时候,datetimepicker1的输入框里就不显示任何日期了,为空
当用户想进行修改的时候,在datetimepicker1的DropDown事件中:
datetimepicker1.format= Windows.Forms.DateTimePickerFormat.Short
datetimepicker1.customformat="yyyy-mm-dd"

这样做的话,又出现了个问题,年份跟日期显示是没问题了,但是月份却显示为"00"。。。真奇怪,我用的是vb.net2005,2008是没问题的。。。
appleller 2008-10-20
  • 打赏
  • 举报
回复
就默认一个不可能的值也可以吧!
lizhengnan 2008-10-20
  • 打赏
  • 举报
回复
用datetimepicker的showcheckbox属性,如果用户没选日期,datetimepicker.checked属性为false,否则为true

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧