AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)
開篇
??????? 上篇我們講述了報(bào)表開發(fā)的獨(dú)立開發(fā)與基于平臺(tái)的開發(fā)二種方式,相信大家已經(jīng)對(duì)報(bào)表開發(fā)有了一定的了解,那么我們本篇將會(huì)鞏固大家對(duì)報(bào)表開發(fā)的知識(shí),我們這里提供一
個(gè)我們平時(shí)在項(xiàng)目中應(yīng)用到的一些關(guān)于報(bào)表開發(fā)的模塊,來盡可能的降低開發(fā)報(bào)表的成本和重復(fù)工作,盡量將重復(fù)的東西進(jìn)行抽取,這樣能夠很方便的進(jìn)行開發(fā),下面我們來看看這
些報(bào)表開發(fā)的簡(jiǎn)單經(jīng)驗(yàn)吧,當(dāng)然可能我分享的經(jīng)驗(yàn)不一定是最好的,當(dāng)然如果你有更好的經(jīng)驗(yàn)都可以分享出來,小弟謝過。由于水平有限,不足之處還請(qǐng)多多指出!
大綱
???????? 1、報(bào)表模板
???????? 2、基于報(bào)表模板的報(bào)表開發(fā)
???????? 3、總結(jié)
報(bào)表模板
????????? 我們平時(shí)在開發(fā)報(bào)表的過程中可能我們會(huì)重復(fù)如下的幾個(gè)步驟:
????????? 1、設(shè)計(jì)窗體,查詢條件,完成相應(yīng)的查詢功能,然后執(zhí)行打印功能,那么我們能不能直接將查詢功能與報(bào)表功能集成起來呢?也許這是個(gè)不錯(cuò)的辦法。
????????? 2、重復(fù)的構(gòu)建報(bào)表對(duì)象,需要我們手動(dòng)的構(gòu)建,或者我們需要寫一個(gè)基類去完成這些功能。還有關(guān)于打印窗體的數(shù)據(jù)源對(duì)象的設(shè)置,并且還要將報(bào)表定義賦值給打印窗
體等,我們是否可以在初始化報(bào)表的時(shí)候就賦值給打印窗體呢?
????????? 3、我們?nèi)绾文軌蚴撬械拇蛴〈绑w頁面盡量的統(tǒng)一風(fēng)格,并且看起來很整潔呢?我們可以通過控件模塊來完成,下面我們就來看看最后的模板效果吧?
??????????
?????????? 然后我們只要在查詢條件區(qū)內(nèi)定義相關(guān)的不同的查詢條件,然后具體的查詢結(jié)果區(qū)都通過報(bào)表控件來顯示內(nèi)容,這樣可以直接查詢結(jié)果直接可以打印。
???????????
?????????? 下面我們就來分析下如何實(shí)現(xiàn)這個(gè)報(bào)表模塊,一步一步的跟大家分享設(shè)計(jì)思路與實(shí)現(xiàn):
?????????? a、定義查詢條件基礎(chǔ)控件:
???????????
?????????? b、基礎(chǔ)的報(bào)表控件模板定義:
???????????
?????????? c、關(guān)于系統(tǒng)加載指定查詢條件與具體的查詢事件代碼的處理:
???????????報(bào)表控件-用于顯示數(shù)據(jù)源的具體內(nèi)容。
???????????查詢條件控件。并且當(dāng)控件對(duì)象不為空時(shí),初始化控件信息。
?????????? d、具體的初始化查詢控件的基礎(chǔ)信息方法:
???????????
?????????? e、打印報(bào)表對(duì)象定義:
???????????
?????????? f、其他的輔助方法
???????????
?????????? g、設(shè)置報(bào)表的具體的數(shù)據(jù)源的相關(guān)方法:
???????????
基于報(bào)表模塊的報(bào)表開發(fā)實(shí)例
?????????? 上面我們分析了報(bào)表模板的實(shí)現(xiàn)思路與核心代碼,下面我們將會(huì)基于該報(bào)表模板來開發(fā)一個(gè)報(bào)表,我們還是已藥品入庫(kù)為例。
?????????? 第一步:設(shè)計(jì)查詢條件
???????????
??????????? 在后臺(tái)添加如下事件:
????????????
?????????? 這樣我們就完成了報(bào)表查詢條件的設(shè)計(jì)。
?????????? 第二步:重寫報(bào)表設(shè)計(jì)模板
???????????
?????????? 重寫查詢方法:
???????????
?????????? 這樣就完成報(bào)表的開發(fā)了,簡(jiǎn)單吧,雖然可能看起來文件多了,但是開發(fā)起來層次非常的簡(jiǎn)單,當(dāng)然查詢方面的內(nèi)部還能進(jìn)一步的簡(jiǎn)化,還能繼續(xù)優(yōu)化,我這里就不舉
例說明了。
?????????? 第三步:運(yùn)行測(cè)試/調(diào)試
?????????? 下面我們就來看看我們之前開發(fā)的內(nèi)容是不是能正常的顯示呢?
???????????
??????????? 經(jīng)測(cè)試發(fā)現(xiàn),我們的報(bào)表信息能夠正常的顯示,只要有數(shù)據(jù)信息就能正確的顯示,這樣我們就完成了報(bào)表功能模塊的開發(fā),這樣的開發(fā)不但能夠包裝所有報(bào)表風(fēng)格的統(tǒng)
一一致,更能讓我們更專注業(yè)務(wù)方面的開發(fā)及有變更的部分的開發(fā),而將通用的部分進(jìn)行封裝。
總結(jié)
??????? 通過上面的關(guān)于報(bào)表模板的定義及基于模板定義的開發(fā)不知道大家是不是還有更好的想法分享,當(dāng)然如果您有好的意見和建議都可以提出來,希望我們能夠開發(fā)出來更好
的工具和產(chǎn)品,來幫助我們提供更好的開發(fā)效果。
??????? 當(dāng)然由于個(gè)人能力有限,錯(cuò)誤支持在所難免,模板中的一些方法可以繼續(xù)增強(qiáng),并且還有部分重復(fù)的功能可以繼續(xù)的重寫和提煉,希望大家?guī)臀已a(bǔ)充和完善!
本文轉(zhuǎn)自何戈洲博客園博客,原文鏈接:http://www.cnblogs.com/hegezhou_hot/archive/2011/04/06/2006696.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python文件处理练习
- 下一篇: Vim-复制选中内容至系统剪贴板,光标移