【翻譯】eXpressAppFramework QuickStart 業務模型設計(四)—— 實現自定義業務類...

這一講,你將學到如何從頭開始實現業務類。為此,將要實現Department和Position業務類。這些類將被應用到之前實現的Contact類中。你將學到引用對象自動生成用戶界面的基本要素。

在此之前,我建議你去閱讀一下 【翻譯】eXpressAppFramework QuickStart 業務模型設計(二)—— 從業務類庫中繼承

·? 在MySolution.Module中添加如下類:

ContractedBlock.gifExpandedBlockStart.gifCode
?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.gifExpandedBlockStart.gifCode
?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.gifExpandedBlockStart.gifCode
?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.gifExpandedBlockStart.gifCode
?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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379520.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379520.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379520.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

內存重映射

文章目錄1 kmap2 映射內核內存到用戶空間使用remap_pfn_range使用io_remap_pfn_rangemmap文件操作建立VMA和實際物理地址的映射mmap 之前分配 一次性映射mmap 之前分配 Page FaultPage Fault 中分配 映射內核內存有時需要重新映射,無論是從內核到用戶空間還是從內…

math.sqrt 有問題_JavaScript中帶有示例的Math.sqrt()方法

math.sqrt 有問題JavaScript | Math.sqrt()方法 (JavaScript | Math.sqrt() Method) The Math.sqrt() method is inbuilt in JavaScript to find the square root of a number. In this tutorial, we will learn about the sqrt() method with examples. JavaScript中內置了Mat…

標題:移動距離

標題:移動距離 X星球居民小區的樓房全是一樣的,并且按矩陣樣式排列。其樓房的編號為1,2,3… 當排滿一行時,從下一行相鄰的樓往反方向排號。 比如:當小區排號寬度為6時,開始情形如下: 1 2 3 4 5 6 12 11 1…

ISAPI Rewrite 實現簡單url重寫、二級域名重寫

實現步驟: 第一步:下載ISAPI_Rewrite.rar,將Rewrite文件夾和httpd.ini直接放在項目根目錄下面。 第二步:IIS配置,篩選Rewrite文件夾里面的Rewrite.dll文件,如圖: 第三步:在httpd.ini…

用戶登錄

用戶登錄 代碼namespace 用戶登錄 {public partial class Form1 : Form{public Form1(){InitializeComponent();}bool b1, b2, b3, b4, b5, b6;private void button1_Click(object sender, EventArgs e){try{if (b1 && b2 && b3 && b4 && b5 &…

進程上下文和中斷上下文

文章目錄進程的preempt_count變量thread_infopreempt_counthardirq相關softirq相關上下文原文鏈接: https://zhuanlan.zhihu.com/p/88883239進程的preempt_count變量 thread_info 在內核中,上下文的設置和判斷接口可以參考 include/linux/preempt.h 文…

標題:湊算式

標題:湊算式 這個算式中AI代表19的數字,不同的字母代表不同的數字。 比如: 68/3952/714 就是一種解法, 53/1972/486 是另一種解法。 這個算式一共有多少種解法? 注意:你提交應該是個整數,不要…

匯編中imul_JavaScript中帶有示例的Math.imul()方法

匯編中imulJavaScript | Math.imul()方法 (JavaScript | Math.imul() Method) Math.imul() is a function in math library of JavaScript that is used to the 32-bit multiplication of the two values passed to it. It uses C-like semantics to find the multiplication. …

AFTER觸發器與INSTEAD OF觸發器的區別

INSTEAD OF 觸發器用來代替通常的觸發動作,即當對表進行INSERT、UPDATE 或 DELETE 操作時,系統不是直接對表執行這些操作,而是把操作內容交給觸發器,讓觸發器檢查所進行的操作是否正確。如正確才進行相應的操作。因此,…

Linux內存地址管理

文章目錄系統內存布局內核地址的低端和高端內存概念低端內存高端內存地址轉換和MMULinux中的四級分頁模型虛擬地址字段頁表處理將虛擬地址轉換物理地址Linux系統中的每個內存地址都是虛擬的,它們不直接指向任何物理內存地址。每當訪問內存位置時,可以執行…

錄制caf 轉 mp3

編譯需要使用的 lame庫http://www.cocoachina.com/bbs/read.php?tid108237參考的文章http://blog.csdn.net/ysy441088327/article/details/7392842說起來,我一直在找一個音頻轉換成mp3的方法。一年前,我成功編譯出了一個lame for armv7的庫。苦于不會使…

杭電2012-素數判定(C)

Problem Description 對于表達式n^2n41&#xff0c;當n在&#xff08;x,y&#xff09;范圍內取整數值時&#xff08;包括x,y&#xff09;(-39<x<y<50)&#xff0c;判定該表達式的值是否都為素數。 Input 輸入數據有多組&#xff0c;每組占一行&#xff0c;由兩個整數…

math.ceil帶小數點_JavaScript中帶有示例的Math.ceil()方法

math.ceil帶小數點JavaScript | Math.ceil()方法 (JavaScript | Math.ceil() Method) Math.ceil() is a function in math library of JavaScript that is used to round up the number passed to the function. The method will return the nearest integer value indeed is g…

開發記要 詭異的變量

告別繁體文盲,從寫blog開始 Variable命名很重要,有多重要,看看.net和java的加密就知道, 都是把variable改到一塌糊塗,你想看看都沒門. 但是這幾天看遺留系統的代碼,真是大開眼界。 我一直以為別人寫a,b,c,d這些單字節variable已經很過分。直到我看到以下這幾個&#xff0…

排序算法---快速排序、堆排序、冒泡排序

排序算法1 快速排序代碼實現stdlib庫快排2 堆排序堆排序的基本思想如何構造一個大頂堆排序3 冒泡排序1 快速排序 文章原地址&#xff1a;https://blog.csdn.net/morewindows/article/details/6684558 快速排序的平均時間復雜度是0(NlogN)&#xff0c;它采用了一種分治的策略&a…

CSS Hack 匯總快查

*:lang(zh) select {font:12px !important;} /*FF的專用*/ select:empty {font:12px !important;} /*safari可見*/ 這里select是選擇符&#xff0c;根據情況更換。第二句是MAC上safari瀏覽器獨有的。 僅IE7識別 *html {…} 當面臨需要只針對IE7做樣式的時候就可以采用這個HACK…

杭電2013-蟠桃記(C++)

Problem Description 喜歡西游記的同學肯定都知道悟空偷吃蟠桃的故事&#xff0c;你們一定都覺得這猴子太鬧騰了&#xff0c;其實你們是有所不知&#xff1a;悟空是在研究一個數學問題&#xff01; 什么問題&#xff1f;他研究的問題是蟠桃一共有多少個&#xff01; 不過&#…

c#中重載單目運算符-_C#程序重載二進制運算符(-,*,/)

c#中重載單目運算符-Here, we will design overloaded methods for binary operators: minus, multiply and divide. In the below program, we will create a Calculator class with data member val. 在這里&#xff0c;我們將為二進制運算符設計重載方法&#xff1a;減&…

項目總結:華南師范大學校園開發教育android客戶端總結

忽略之前小打小鬧&#xff0c;這個項目算是我的第一個項目--SCNU的網絡公選課的android版本的客戶端。項目是從5月中旬開始的&#xff0c;中間經歷了幾個星期的復習考試時間&#xff0c;到現在可以說是完工了吧&#xff08;或許還有寫細節要修改&#xff09;。這個項目帶給我蠻…

火鳥字幕合并器

火鳥字幕合并器-區塊獨立勾選-保存。漢王 PDF OCR轉載于:https://www.cnblogs.com/hnytwn/archive/2009/10/31/1593395.html