AgileEAS.NET平臺開發實例-藥店系統-報表開發(下)

開篇

        咱們上篇講述瞭如何基於平臺的報表管理組件來進行報表的管理,咱們並無說明如何在項目中如何調用,咱們設計好的報表。下面咱們就來看看,咱們如何來使用咱們html

設計好的報表,一種是直接使用平臺原生支持的報表服務,還有一種是咱們單獨設計實現的報表服務,也就是所謂的脫離現有平臺的限制,咱們單獨使用報表設計器來完成報數據庫

表開發工做。而且可以結合其餘的平臺來進行開發。本章咱們就來就這些問題來詳細的闡述。工具

大綱

        一、使用原生的報表服務。學習

        二、脫離平臺使用報表服務。測試

使用原生的報表服務

        首先、咱們先來講明下什麼是原生的報表服務,原生的意思是使用平臺底層支持的報表管理服務,也能夠理解成將報表定義信息保存在平臺的底層表「eas.REPORTS」表中網站

的這樣的存儲形式。spa

        其次、接着上篇咱們講述的設計報表流程,咱們來看下,咱們如何使用原生的報表服務,來打印報表。.net

        一、咱們在藥品入庫頁面中添加打印事件:設計

         image

         二、在打印事件中添加以下代碼。3d

         image

         三、咱們來看看打印報表的相關方法:

         image

         而後這些代碼配置好後,咱們來運行下看看效果。

         image

         上面也是比較簡介,固然還能進行分組,例如咱們修改報表按藥品類型分組:

         image

         你們發現了吧,仍是很是的簡單的,咱們使用起來開發起來也是很是的快捷。而且報表自己提供了導出的功能,支持多種文件格式的導出。下面咱們就來看看,咱們如何

開發咱們不使用AgileEAS.NET平臺底部支持的報表,咱們單獨使用報表的功能如何來作。

脫離平臺使用報表

        咱們如今要脫離AgileEAS.NET的平臺來使用報表,咱們如何來使用呢?我想咱們可使用以下的幾種方式來實現報表功能的調用。下面咱們一一道來,可是咱們在使用報

表控件的時候,仍是會有些不如意的限制,例如:咱們新建一個對象報表的時候,咱們的對象必須是AgileEAS.NET平臺」特定「的對象才能夠被報表設計器識別,這裏的特定

如何理解呢?下面咱們先來看看這個特例吧:

        一、找到「bin」或「ref」目錄下的報表設計器應用程序:

         image

        二、點擊「新建」選擇對象報表:

         image

        三、建立一個新的「對象報表」後,選擇數據源:

         image

         四、選擇報表的數據源實體對象所在的程序集:例如咱們如今要開發藥品的入庫,那麼咱們能夠選擇藥品入庫實體對象所在的程序集:

         image

         五、點擊「打開」後,報表控件會自動讀取該程序集下的全部實體類,前提是該實體類必須是AgileEAS.NET平臺規定的實體類,這裏怎麼裏理解呢?咱們來看,必須是標

記以下內容:

         imagetable特性中的表名能夠爲空,若是是自定義對象的話。

         六、這樣報表設計器就能識別出該對象了。

         image

         七、咱們這裏Dm_rin做爲咱們的設計目標即藥品入庫:

         image

         八、關於報表後續的具體調整,請參考以下報表設計文檔:

         AgileEAS報表設計器使用說明書.pdf

         九、開發完報表後,咱們既然不使用AgileEAS.NET平臺提供的報表組件支持,那麼咱們必須本身維護報表的定義文件,不像平臺提供的將報表的定義文件保存到數據庫

中,那麼咱們如何來維護報表定義文件呢,我這裏給出解決方案以下:在解決方案內新建一個」RDL「文件夾,全部的報表定義文件夾放在該文件夾中。

         image

        咱們知道報表定義文件的實際存儲是以XML格式來存取的就好辦了,數據庫裏面的存儲格式也已經清楚了,那麼咱們就知道了,咱們只要從.rdl文件中讀取相應的報表定

義信息後就能夠了,那這個就應該來講很容易,咱們只要寫一個輔助類便可,專門負責讀取指定路徑的指定文件名便可。

        咱們先來看看爲何說這樣直接讀取就能夠了?

        image

        根據報表的名稱,讀取數據庫,來加載該報表的定義信息到報表對象中。

        咱們來斷點一下:

        image

       點擊文本可視化工具查看具體的內容:

       image

       平臺提供的讀取報表定義的方法:

       image

       下面咱們就來看看我本身書寫的讀取rdl文件中的定義信息的輔助類。

       一、讀取當前工程下的RDL文件夾路徑。

       image

       二、讀取RDL文件夾中的指定名稱的報表定義信息:

       image

       三、若是存在指定的報表定義文件,讀取該定義文件的具體報表定義信息,若是存在多個同名的報表定義文件,則只讀取第一個符合條件的文件的信息。

       image

       四、這樣咱們就完成了RDL文件的讀取,下面咱們來測試下便可知道是否可行:

       將上面的經過平臺提供的底層組件來訪問報表並實現打印的功能,咱們經過自定義的報表定義讀取Helper類完成報表的打印工做。

       image

       五、下面咱們來運行下上面的程序:

       image

       這樣咱們就完成了報表的定義和使用,很簡單和方便吧,我相信你們可以一學習就能進行二次開發,或者進行報表的開發,固然若是說咱們的系統中不存在指定的表映射

對象時,咱們這時候須要自定義一個實體對象,此時必定要添加相應的表映射標記與列映射標記,可是此時記得必定不要在表映射標記中寫表名。例如:

       image

       這樣就完成了報表的開發和設計。

總結

       上面咱們就講述了基本的關於報表開發的內容,下篇咱們講述報表開發的高級篇,我將將咱們內部積累的關於報表設計器的相關經驗進行分享,來進行最快速度的報表開

發,跟你們一塊兒分享基於模塊的報表開發,可以已最快的速度開發報表。讓咱們更專一業務的開發,而將一些重複的工做解放出來。

藥店系統源碼

download34

 

其餘文章

這裏附帶更多的關於AgileEAS.NET開發平臺的說明文章。

一、官方博客:AgileEAS.NET 敏捷軟件開發平臺

二、做者博客:魏瓊東

三、AgileEAS.NET平臺-文檔發佈-還等什麼?

四、AgileEAS.NET平臺工具之數據原型設計器的使用場景示例

五、更多。。。

更多交流

官方博客:http://www.smarteas.net/

官方網站:http://www.agilelab.cn/

若是您在使用AgileEAS.NET開發平臺中有什麼問題,請使用以下幾種聯繫方式或者溝通方式。

一、郵箱方式:

魏瓊東: mail.james@qq.com 手機:18629261335 博客:http://eastjade.cnblogs.com/

殷長波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/

何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/

二、QQ交流羣:

AgileEAS.NET平臺交流羣:120661978(超級羣)[新建]  AgileEAS.NET平臺交流羣:125643764(高級羣)[新建]  AgileEAS.NET平臺交流羣:147168308(高級羣)[新建]

相關文章
相關標籤/搜索