TextBox DataBindings 字符串绑定格式化问题,求救高手!!

奔腾286 2010-03-25 03:56:25
entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString();

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = true;
textBox1.DataBindings["Text"].FormatString = "yyyy-MM-dd";

textBox2.DataBindings.Add("Text", entity, "Timestring");
textBox2.DataBindings["Text"].FormattingEnabled = false;
textBox2.DataBindings["Text"].FormatString = "yyyy-MM-dd";

textbox1格式化了,textbox2没有格式化……为什么?怎么让textbox2格式化?
...全文
364 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
benyouyong 2010-03-26
  • 打赏
  • 举报
回复
实在不行就在加一句:
textBox2.Text = DateTime.Parse(textBox2.Text).ToString("yyyy-MM-dd");

呵呵~别骂我.
奔腾286 2010-03-26
  • 打赏
  • 举报
回复
╮(╯▽╰)╭
criedshy 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 xindu20081001 的回复:]
引用 18 楼 criedshy 的回复:

数据库是时间存的是varchar……

是什么格式的时间?你可以在这里解决啊,select 的时候 可以转化或者格式

或者你可以考虑将表转化成强类型的实体时先转换时成DateTime,再格式化这个DateTime



时间是从数据库里读到的,不能去掉时分秒,只是不显示而已……
[/Quote]

那就考虑字符串截取啊
奔腾286 2010-03-25
  • 打赏
  • 举报
回复
o(︶︿︶)o唉
liuyileneal 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 xindu20081001 的回复:]
引用 20 楼 liuyileneal 的回复:

C# code

entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString(“d”);

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"]……
[/Quote]

数据的是datetime好像是带着时分秒的,要是不想要时分秒的话,可以截取为字符串
奔腾286 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 criedshy 的回复:]

数据库是时间存的是varchar……

是什么格式的时间?你可以在这里解决啊,select 的时候 可以转化或者格式

或者你可以考虑将表转化成强类型的实体时先转换时成DateTime,再格式化这个DateTime
[/Quote]


时间是从数据库里读到的,不能去掉时分秒,只是不显示而已……
奔腾286 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 liuyileneal 的回复:]

C# code

entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString(“d”);

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = true;
textB……
[/Quote]

关键是数据库里的时间不能把时分秒去掉,只是不现实而已……
liuyileneal 2010-03-25
  • 打赏
  • 举报
回复

entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString(“d”);

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = true;
textBox1.DataBindings["Text"].FormatString = "yyyy-MM-dd";

textBox2.DataBindings.Add("Text", entity, "Timestring");


这样就行了,格式和你要的一样了
freewind0521 2010-03-25
  • 打赏
  • 举报
回复
textBox2.DataBindings["Text"].FormattingEnabled = false;
都设置为false了就不能够格式化了
criedshy 2010-03-25
  • 打赏
  • 举报
回复
数据库是时间存的是varchar……

是什么格式的时间?你可以在这里解决啊,select 的时候 可以转化或者格式

或者你可以考虑将表转化成强类型的实体时先转换时成DateTime,再格式化这个DateTime
liuyileneal 2010-03-25
  • 打赏
  • 举报
回复
既然那个事string类型的话,就像criedshy说的那样,在datetime转换为字符的时候就直接格式化不行么
criedshy 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xindu20081001 的回复:]
引用 12 楼 criedshy 的回复:

C# code
entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString("yyyy-MM-dd");

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Te……

俺也超郁闷……明明是字符串格式化!为什么字符串不能用呢
[/Quote]

你都是string,还要怎么格式化
FormatString 本来就是将其他类型的格式化成字符串
奔腾286 2010-03-25
  • 打赏
  • 举报
回复
帮帮忙了,各位!!
奔腾286 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liuyileneal 的回复:]

既然两个显示的完全一样为什么不
C# code

entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now;

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = true;
te……
[/Quote]




数据库是时间存的是varchar……
上面的那个只是测试,偶又没权去改数据库⊙﹏⊙b汗
奔腾286 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 criedshy 的回复:]

C# code
entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString("yyyy-MM-dd");

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = tru……
[/Quote]

俺也超郁闷……明明是字符串格式化!为什么字符串不能用呢
criedshy 2010-03-25
  • 打赏
  • 举报
回复
entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString("yyyy-MM-dd");

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = true;
textBox1.DataBindings["Text"].FormatString = "yyyy-MM-dd";

textBox2.DataBindings.Add("Text", entity, "Timestring");
liuyileneal 2010-03-25
  • 打赏
  • 举报
回复
既然两个显示的完全一样为什么不

entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now;

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEnabled = true;
textBox1.DataBindings["Text"].FormatString = "yyyy-MM-dd";

textBox2.DataBindings.Add("Text", entity, "Timestring");
textBox2.DataBindings["Text"].FormattingEnabled = true;
textBox2.DataBindings["Text"].FormatString = "yyyy-MM-dd";

textbox1格式化了,textbox2没有格式化……为什么?怎么让textbox2格式化?

这样呢
criedshy 2010-03-25
  • 打赏
  • 举报
回复
你要先把Timestring转换成DateTime,再用yyyy-MM-dd格式
criedshy 2010-03-25
  • 打赏
  • 举报
回复
我是说值的样式,比如说是2009/10/23
steal8275756 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xindu20081001 的回复:]
非常抱歉了,false改true也不好用!!!


entity.Time = DateTime.Now;
entity.Timestring = DateTime.Now.ToString();

textBox1.DataBindings.Add("Text", entity, "Time");
textBox1.DataBindings["Text"].FormattingEn……
[/Quote]

你不觉得你的Timestring 定义的有点多余吗?
加载更多回复(7)

110,533

社区成员

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

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

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