问题描述
Model层:publicclassStudent{publiclongId{get;set;}publicstringName{get;set;}publicstringSex{get;set;}publicint?Age{get;set;}//可NULLpublicDateTime?Birthday{get;set;}//可NULLpublicdecimalScore{get;set;}}UI层中数据绑定函数DataBindsprivatevoidDataBinds(Studentstudent){txtName.DataBindings.Add("EditValue",student,"Name");cboSex.DataBindings.Add("EditValue",student,"Sex");txtAge.DataBindings.Add("EditValue",student,"Age");detBirthday.DataBindings.Add("EditValue",student,"Birthday");txtScore.DataBindings.Add("EditValue",student,"Score");}UI层中窗体初始化引入函数绑定数据privatevoidFrm_StudentEditUI_Load(objectsender,EventArgse){student=newStudent();DataBinds(student);}问题:绑定数据后,在允许NULL的两列数据txtAge.Editvalue与detBirthday.EditValue数据改变后,model中的Age与Birthday属性并没有改变,仍然是NULL,求解!附:假如,Model层中定义的属性不为空,如下:publicintAge{get;set;}//去掉?号publicDateTimeBirthday{get;set;}//去掉?号则一切正常。在界面上改变以上所有控件的数据时,Model层中各属性的值相应会改变。
解决方案
解决方案二:
有没有高手指点一下呢??
解决方案三:
winform不支持事件通知。换成wpf吧,
解决方案四:
问题是公司一定要用Winform来开发啊,晕了。
解决方案五:
为啥一定要绑定数据源在控件的文本改变事件里给数据赋值不行?
解决方案六:
而且既然是绑定到控件上控件的值怎么可能是null需要定义成可空类型吗
解决方案七:
绑定数据可以写少很多代码,还有,数据表中有不少字段是可NULL的,在界面输入时,不填,就需要插入NULL值。我个人觉得,我提的问题,肯定有办法解决的。看有没有朋友能提出解决方案。谢谢。