這一講,你將學到如何從頭開始實現業務類。為此,將要實現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 業務模型設計(五)—— 從業務類庫中添加類?
?
?
?