在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦。有没有像Web中那样方便的方法直接就自动映射了呢?现在不用如此繁琐,在RDIFramework.NET开发框架的WinForm部分新增了界面控件到实体,实体到界面控件自动绑定,一句话就搞定了,非常的方便。主要是引“RDIFramework.WinForm.Utilities.dll”dll文件,再调用下面两个方法即可:
1、实体到界面控件的自动映射:FormBinding.BindObjectToControls(TestEntity, this);
2、界面控件到实体的自动映射:FormBinding.BindControlsToObject(TestEntity, this);
效果如下图所示:
下面给出上面的测试界面的全部代码供大家参考:
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框架官方公众微信(微信号:rdiframework-net),及时了解最新动态。
扫描二维码立即关注
相关推荐
C# WINFORM 控件双向绑定少为人知的秘密 在做winform开发的时候常常会遇到控件绑定数据源来实现双向绑定更新的问题。 根据这么多年的经验现在整理一下供大家参考,有什么写错的地方请指教
1. 数据源为ArrayList类型的自动分页的可排序数据绑定控件; 2. 数据源为ArrayList类型的手动分页的可排序数据绑定控件; 3. 数据源为DataTable类型的自动分页的可排序数据绑定控件; 4. 数据源为DataTable类型的...
对WinForm下的DataGridView控件进行扩展,实现其分页功能,使用方便、简单,该控件适用于大部分的业务逻辑。 实现功能: 1. 数据源为ArrayList类型的自动分页的数据绑定控件; 2. 数据源为ArrayList类型的手动分页...
我希望控件能够尽可能的多一些功能,耦合性低一些,例如我不想是基于存储过程的,因为我很多程序需要使用Access作为数据库,一般来说,我还希望有导出Excel数据的功能,还有打印预览功能,由于我的数据源表头,如...
主要介绍了WinForm中comboBox控件数据绑定实现方法,结合实例形式分析了WinForm实现comboBox控件数据绑定的常用方法与相关操作技巧,需要的朋友可以参考下
内容概要:通过INotifyPropertyChanged实现winform界面中控件Text属性自动赋值,值变化时自动更新,优雅的给界面赋值。 能学到什么:1、单例类的写法;2、界面数据绑定;3、INotifyPropertyChanged;4、winform分层...
本文介绍通过特性和反射将枚举的中文注释绑定到winform界面的Combox控件上,当枚举类型的中文含义更改时,不需要更改界面代码也能实现界面文字的更改。...
C# winform treeView控件的使用treeView1_BeforeExpand treeView绑定数据库
通用选择组件,通过编写用户控件的属性及方法,生成dll后,在相应的属性中出现用户控件的属性直接进行绑定,方便简单,您可以下载FastSelectComponents运行查看效果。或将fastSelect.dll添加到项目中并进行引用。 ...
C# winform修改背景图 控件双向绑定 拖拽打开图片
Winform自定义进度条,多种样式的控件类库,可直接调用。
Winform漂亮界面控件SunnyUI
本系统使用winform的绑定机制应用以上模板及对应数据表(视图)实现动态代码生成后续需要做的工作就是应用winform开发自带的数据源方法或者devexpress的datalayoutcontrol方法来拖拽对应的控件和展示数据的gridcontrol...
c# 开发中,对于控件所绑定的事件需要仔细检查,有时候会将相同的事件绑定多次,会导致多次执行,从而形成很难跟踪的bug,有时候编写自动测试程序时也需要自动执行事件,本程序提供了这方面的范例,仅供参考.
WFP中嵌套WinForm控件.WFP中嵌套WinForm控件.WFP中嵌套WinForm控件.
一个用在客户端软件上的自定义分页控件源码,可以进行自行修改,适用与各种数据绑定控件。 1.按照此示例建立用户控件,生成后vs左面控件栏会生成控件标识 2.在使用页面把控件拖入所需地方,页面后端代码为控件赋值总...
C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法 与控件自带的AutoCompleteMode类似,完美实现模糊匹配,解决AutoCompleteMode只能从左向右匹配的问题
Winform TreeView控件无限分级绑定数据&获取选项
WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C#...这套 C# WinForm 教程将教会大家如何使用 WinForm 进行界面设计,并绑定对应的事件,开发出一个实用的客户端。
WebForm控件 WinForm控件 Xml 方案 绘图 基础 集成开发环境(IDE) 类型 日期 输入和输出 Access MySQL SQLServer 网络 系统 应用程序接口 字符串