首页 新闻 赞助 找找看

Entity Framework 绑定到控件的问题

0
悬赏园豆:20 [待解决问题]

假如我这有一张Person表,有三个字段:

Name (Varchar 20)

Sex(bit)      --性别:0-未知;1-男;2-女

Birthday(char 8)   --注意Birthday是存字符的,如“20110413”。

那经过EF映射之后的实体的Birthday就是String类型的,问题来了,假如我要绑定到Dev的edit控件

//绑定名字
TextEdit_Name.DataBindings.Add("Text",Person,"Name");

//绑定性别的值到ComboBox_Sex的下拉列表
ComboBox_Sex.DataBindings.Add("SelectedIndex",Person,"Sex");

//这里就不能绑定Birthday了.......
//DateEdit_Birthday.DataBindings.Add("DateTime",Person,"Birthday");

//只能用这种方式来显示到日期控件。
string str_birthday = Person.Birthday.Substring(0, 4) + "-" + Person.Birthday.Substring(4, 2) + "-" + Person.Birthday.Substring(6, 2);
DateEdit_Birthday.DateTime
= Convert.ToDateTime(str_birthday);

那我能不能在EF的Person实体里再加入一个属性Date_Birthday,get的时候取得另一属性Birthday的值然后转化为DateTime型,set的时候再转换成8位字符然后赋值给Birthday属性,这样的话我就可以直接这样绑定了:

DateEdit_Birthday.DataBindings.Add("DateTime",Person,"Date_Birthday");
如果可以这样的话,我在EF里应该怎么做。。。
happytime的主页 happytime | 初学一级 | 园豆:160
提问于:2011-04-14 15:15
< >
分享
所有回答(2)
0

遇到过这种情况,但还没见过在EF里动手脚的,如果做WPF的,应该知道绑定的时候允许加个Converter,处理楼主的情况还是很方便的。

6哒忆夏 | 园豆:594 (小虾三级) | 2011-04-14 15:39
0

你试试绑定 DateTimePicker 的 Text 属性

然后你要指定 DateTimePicker的 Format为Custom,把格式设置为 yyyyMMdd

Launcher | 园豆:45045 (高人七级) | 2011-04-15 09:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册