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