高手请看问题:BindingSource ,ErrorProvider 使用的问题

ytcola 2012-03-07 02:39:01
表list 中假定有两列(姓名(xingming 字符型),出生日期(birthdate datetime类型))
在窗口中建了2个textbox,一个是姓名tb_xing,一个是出生日期tb_sheng。

在窗口的Load事件中连接数据库,把表list中的数据导入到c#的datatable dt1中。
然后创建 BindingSource ,ErrorProvider

BindingSource bs = new BindingSource();
ErrorProvider ePro = new ErrorProvider();
bs.DataSource = dt1;
bs.AllowNew = true;
ePro.DataSource = bs;
ePro.ContainerControl = this;//(指当前窗口)
把textbox绑定到数据源
tb_xing.DataBindings.Add("Text", bs, "xingming", true);
tb_sheng.DataBindings.Add("Text", bs, "birthdate", true);

然后添加一条新纪录
bs.AddNew();
后 2个textbox,一个是姓名tb_xing,一个是出生日期tb_sheng,内容清空,等待输入新值。
这是如果我在出生日期tb_sheng 中输入汉字或者字符,

ErrorProvider
给出提示:该字符串未被识别为有效的 DateTime,有一个从索引XX处开始的非法字符。并且不允许光标离开。

修改内容为正确的日期如 2012-3-7 后ErrorProvider不再出提示。
但是如果把出生日期tb_sheng 中的内容完全删除之后依然给出提示:该字符串未被识别为有效的 DateTime,并且不允许光标离开。


我的问题是 出生日期tb_sheng 填错之后把内容完全删除后ErrorProvider怎么才能不给出提示,并且允许光标离开呢??
另外能否可以自定义提示的内容呢?


请高手解惑!!!!
...全文
116 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ytcola 2012-03-07
  • 打赏
  • 举报
回复
第一个问题解决了 tb_sheng.DataBindings.Add("Text", bs, "birthdate", true DataSourceUpdateMode.OnValidation, "", "yyyy-MM-dd hh:mm:ss");

设置一个默认值即可
第二个问题不会
ytcola 2012-03-07
  • 打赏
  • 举报
回复
没有人看吗?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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