WinForm开发-界面控件到实体,实体到界面控件自动绑定
在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦。有没有像Web中那样方便的方法直接就自动映射了呢?现在不用如此繁琐,在RDIFramework.NET开发框架的WinForm部分新增了界面控件到实体,实体到界面控件自动绑定,一句话就搞定了,非常的方便。主要是引用“RDIFramework.WinForm.Utilities.dll”dll文件,再调用下面两个方法即可:
1、实体到界面控件的自动映射:FormBinding.BindObjectToControls(TestEntity, this);
2、界面控件到实体的自动映射:FormBinding.BindControlsToObject(TestEntity, this);
效果如下图所示:
下面给出上面的测试界面的全部代码供大家参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | using System; namespace RDIFramework.Test { using RDIFramework.Utilities; using RDIFramework.WinForm.Utilities; public partial class FrmFormBindingTest : BaseForm { ExampleEntity TestEntity = new ExampleEntity(); public FrmFormBindingTest() { InitializeComponent(); } public override void FormOnLoad() { base .FormOnLoad(); BindCategory(); FormBinding.BindObjectToControls(TestEntity, this ); } private void BindCategory() { BasePageLogic.BindCategory( base .UserInfo, ProductCategory, "ProductCategory" ); BasePageLogic.BindCategory( base .UserInfo, comboBox1, "Gender" ); } private void btnEntityToControl_Click( object sender, EventArgs e) { FormBinding.BindObjectToControls(TestEntity, this ); } private void btnControlToEntity_Click( object sender, EventArgs e) { FormBinding.BindControlsToObject(TestEntity, this ); this .richTextBox1.Text = TestEntity.ToString(); } private void btnClose_Click( object sender, EventArgs e) { this .Close(); } } public class ExampleEntity { public string Text1 { get ; set ; } public string Text2 { get ; set ; } public string comboBox1 { get ; set ; } public string ProductCategory { get ; set ; } public DateTime? DateTime1 { get ; set ; } public decimal ? MaskText1 { get ; set ; } public int ? Int1 { get ; set ; } public int Enabled1 { get ; set ; } public ExampleEntity() { Text1 = "ValueText1" ; Text2 = "ValueText2" ; DateTime1 = BusinessLogic.ConvertToDateTime(DateTime.Now.AddDays(-2)); MaskText1 = BusinessLogic.ConvertToNullableDecimal(12345.12); Int1 = 124; Enabled1 = 1; comboBox1 = "男" ; ProductCategory = "其他" ; } public override string ToString() { string returnValue = "Text1: " + Text1 + "\r Text2: " + Text2; returnValue += "\r comboBox1:" + comboBox1 + "\r Int1:" + Int1.ToString() + "\r DateTime1:" + DateTime1.ToString() ; returnValue += "\r ProductCategory:" + ProductCategory + "\r MaskText1:" + MaskText1.ToString() + "\r Enabled1:" + Enabled1.ToString(); return returnValue.ToString(); } } } |
相关文章列表:
RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录
一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。
RDIFramework.NET官方网站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!
RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!
欢迎关注RDIFramework.net框架官方公众微信(微信号:guosisoft),及时了解最新动态。
扫描二维码立即关注
作者:
RDIF
出处:
http://www.cnblogs.com/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手机号)
框架官网:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
国思RDIF开发框架
,
给用户和开发者最佳的.Net框架平台方案,为企业快速构建跨平台、企业级的应用提供强大支持。
关于作者:系统架构师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,在面向对象、面向服务以及数据库领域有一定的造诣。现主要从事基于
RDIF
框架的技术开发、咨询工作,主要服务于金融、医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过微信、邮箱、QQ等联系我,非常感谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了