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();
         }
     }
}

  



本文转自yonghu86博客园博客,原文链接:http://www.cnblogs.com/huyong/p/5522799.html,如需转载请自行联系原作者

相关文章
|
7月前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
126 0
|
JavaScript
fastadmin表格列表内部自定义按钮
fastadmin表格列表内部自定义按钮
421 0
fastadmin表格列表内部自定义按钮
|
5月前
|
开发框架 前端开发 JavaScript
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理
|
4月前
|
开发框架 缓存 前端开发
使用扩展函数方式,在Winform界面中快捷的绑定树形列表TreeList控件和TreeListLookUpEdit控件
使用扩展函数方式,在Winform界面中快捷的绑定树形列表TreeList控件和TreeListLookUpEdit控件
|
UED 开发者
构建可访问的自定义表单控件
在现代Web应用程序中,表单是一个至关重要的组件。用户可以通过表单输入数据并与应用程序进行交互。为了提高用户体验,并让所有用户都能轻松地使用您的应用程序,构建可访问的自定义表单控件是非常重要的。
104 0
|
JavaScript
fastadmin 自定义 按钮 动态切换数据 TAB切换
fastadmin 自定义 按钮 动态切换数据 TAB切换
293 0
|
Web App开发
艾伟:WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
前面的几篇文章中,我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型转换器,现在我们可以在属性浏览器中编辑它的值,并且它的值也被串行化的源代码里了。但是你有没有发现,在属性浏览器里编辑这个属性的值还是不太方便。
698 0
|
SQL JavaScript 前端开发
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
  【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】           看了大家的回复,好像不少人误会了,我为了突出“鼠标点,功能现”,所以没有说代码,没有贴代码,这就让一些人认为我想要完全抛弃VS,自己写一个“平台”来代替,不好意思,您高估我了,我可达不到。
867 0
|
C# 前端开发
WPF Adorner+附加属性 实现控件友好提示
原文:WPF Adorner+附加属性 实现控件友好提示 标题太空泛,直接上图   无论是在验证啊,还是提示方面等一些右上角的角标之类的效果,我们会怎么做? 这里介绍一种稍微简单一些的方法,利用附加属性和Adorner来完成。
1003 0