这一讲,你将学到如何从头开始实现业务类。为此,将要实现Department和Position业务类。这些类将被应用到之前实现的Contact类中。你将学到引用对象自动生成用户界面的基本要素。
在此之前,我建议你去阅读一下 【翻译】eXpressAppFramework QuickStart 业务模型设计(二)—— 从业务类库中继承
· 在MySolution.Module中添加如下类:
1 [DefaultClassOptions]
2 [System.ComponentModel.DefaultProperty("Title")]
3 public class Department : BaseObject {
4 private string title;
5 private string office;
6 public Department(Session session) : base(session) { }
7 public string Title {
8 get { return title; }
9 set { SetPropertyValue("Title", ref title, value); }
10 }
11 public string Office {
12 get { return office; }
13 set { SetPropertyValue("Office", ref office, value); }
14 }
15 }
16
17
添加Department属性到Contact类,代码如下:
1 [DefaultClassOptions]
2 public class Contact : Person {
3 //
4 private Department department;
5 public Department Department {
6 get {return department;}
7 set {SetPropertyValue("Department", ref department, value);}
8 }
9 //
10 }
11
12
· 类似的,实现Position类
1 [DefaultClassOptions]
2 [System.ComponentModel.DefaultProperty("Title")]
3 public class Position : BaseObject {
4 public Position(Session session) : base(session) { }
5 private string title;
6 public string Title {
7 get { return title; }
8 set { SetPropertyValue("Title", ref title, value); }
9 }
10 }
11
12
添加Position属性到Contact类中
1 [DefaultClassOptions]
2 public class Contact : Person {
3 //
4 private Position position;
5 public Position Position {
6 get {return position;}
7 set {SetPropertyValue("Position", ref position, value);}
8 }
9 //
10 }
11
12
· 运行程序。你将看到如何运用特定的数据结构自动生成用户界面。导航控件包含了新的Department和Position项,它们允许你访问Department和Position对象。注意Contact明细窗口(或者叫Contact明细视图),创建了新的Department和Position的查找编辑器。通过此编辑器你可以为当前的Contact选择所需的Department和Position。另外,你还可以自定义Department对象列表或者单个的Department(Position)对象。前者,你需要点击New按钮。后者,按住Ctrl+Shift然后点击所需要的对象编辑器。
我的话:
对于我来说,比较感兴趣的是这种UI是如何通过框架产生出来的。QuickStart完了之后,我想把这部分拿出来跟大家分享一下。
上一篇【翻译】eXpressAppFramework QuickStart 业务模型设计(三)—— 提供初始化数据
下一篇【翻译】eXpressAppFramework QuickStart 业务模型设计(五)—— 从业务类库中添加类