【翻译】eXpressAppFramework QuickStart 业务模型设计(四)—— 实现自定义业务类...

这一讲,你将学到如何从头开始实现业务类。为此,将要实现Department和Position业务类。这些类将被应用到之前实现的Contact类中。你将学到引用对象自动生成用户界面的基本要素。

在此之前,我建议你去阅读一下 【翻译】eXpressAppFramework QuickStart 业务模型设计(二)—— 从业务类库中继承

·  在MySolution.Module中添加如下类:

ContractedBlock.gif ExpandedBlockStart.gif Code
 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类,代码如下:

ContractedBlock.gif ExpandedBlockStart.gif Code
 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类

ContractedBlock.gif ExpandedBlockStart.gif Code
 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类中

ContractedBlock.gif ExpandedBlockStart.gif Code
 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明细视图),创建了新的DepartmentPosition的查找编辑器。通过此编辑器你可以为当前的Contact选择所需的Department和Position。另外,你还可以自定义Department对象列表或者单个的Department(Position)对象。前者,你需要点击New按钮。后者,按住Ctrl+Shift然后点击所需要的对象编辑器。

 

 


我的话:

对于我来说,比较感兴趣的是这种UI是如何通过框架产生出来的。QuickStart完了之后,我想把这部分拿出来跟大家分享一下。

 

上一篇【翻译】eXpressAppFramework QuickStart 业务模型设计(三)—— 提供初始化数据

下一篇【翻译】eXpressAppFramework QuickStart 业务模型设计(五)—— 从业务类库中添加类 

 

 

 

转载于:https://www.cnblogs.com/1231net/archive/2009/10/22/1587983.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值