vb.net - MaskedTextBox 和 DateTimePicker 仍然不支持 Nullable 日期?
问题描述
我的数据库表中有几个允许 NULL 的日期字段。我需要将这些列绑定到我的表单的字段。他们 DateTimePicker 甚至不会显示从数据库读取的空白/NULL。它仅显示在 datetimepicker 对象的 Value 属性中设置的当前日期时间。MaskedTextBox 在读取 NULL 数据时将显示为空,但如果您尝试通过它或清除数据,它会将您锁定在该字段中。
我不能使用来自第三方的任何控件,也不能创建自己的控件。真的是 2019 年,微软仍然拒绝解决可以为空的日期吗?除了使用标准的、非托管的文本框外,我还有什么办法吗?
根据我的网络搜索,我并没有抱太大希望,但也许有人可以提供帮助。谢谢!
解决方案
如果你是 DataBinding 那么这样的事情应该可以工作:
With DateTimePicker1
.CustomFormat = " "
.Format = DateTimePickerFormat.Custom
End With
DateTimePicker1.DataBindings.Add("Value", dt, "DateCol", True, DataSourceUpdateMode.OnValidation, DBNull.Value)
MaskedTextBox1.DataBindings.Add("Text", dt, "Col1", True, DataSourceUpdateMode.OnValidation, DBNull.Value)
推荐阅读
- python - Pycharm上的Json文件参数
- javascript - XMLHttpRequest.responseText 未呈现 json 编码输出
- c# - 如何在c#中获取x字数后存在的所有单词
- node.js - 是否可以仅为 react-select 自动完成获取数据库集合的所有元素?
- c# - 如何将两个东西绑定到复选框的 IsChecked 属性?
- javascript - “squares.splice 不起作用”这个错误有什么原因吗?
- amazon-dynamodb - 用于获取最新文章的 DynamoDB 架构
- c - 为什么要通过指针传递给 C 函数?
- sql - 将报表数据存储在 SQL 表中
- powerbi - PowerBI报表服务——数据流问题