• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      FastReport在通用報(bào)表模塊模型中的應(yīng)用—通用報(bào)表模型的設(shè)計(jì)

      2011-02-19 00:45:40張前程
      中國(guó)科技信息 2011年24期
      關(guān)鍵詞:字段控件列表

      張前程

      北京青年政治學(xué)院,北京 100102

      FastReport在通用報(bào)表模塊模型中的應(yīng)用—通用報(bào)表模型的設(shè)計(jì)

      張前程

      北京青年政治學(xué)院,北京 100102

      本文簡(jiǎn)要介紹了FastReport報(bào)表組件,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)通用報(bào)表模塊模型,此模型允許系統(tǒng)開(kāi)發(fā)者或者系統(tǒng)管理員在不更改系統(tǒng)源代碼的前提下對(duì)系統(tǒng)中的報(bào)表進(jìn)行增加或者修改,并允許最終用戶在打印輸出時(shí)控制報(bào)表的數(shù)據(jù)和輸出格式。此模型不依賴(lài)具體的應(yīng)用,具有通用性,可以應(yīng)用于其他的管理信息系統(tǒng)。

      FastReport;報(bào)表;管理信息系統(tǒng)

      引言

      隨著信息技術(shù)的發(fā)展,管理信息系統(tǒng)的應(yīng)用范圍越來(lái)越廣泛,作為管理信息系統(tǒng)的一個(gè)重要組成部分,報(bào)表模塊的功能和作用不容忽視。一般來(lái)說(shuō),報(bào)表的功能主要有兩類(lèi):一是將管理信息系統(tǒng)中的數(shù)據(jù)以票據(jù)形式輸出,作為交易或其他活動(dòng)的憑證;二是將管理信息系統(tǒng)中生產(chǎn)層、市場(chǎng)層等管理活動(dòng)過(guò)程中的原始數(shù)據(jù)經(jīng)過(guò)信息加工后轉(zhuǎn)換成有用信息以表格、圖形等各種形式輸出,提供給系統(tǒng)使用者,為決策者做出正確決策提供支持。

      筆者基于FastReport設(shè)計(jì)了一個(gè)通用報(bào)表模塊模型,此模型能夠滿足不同系統(tǒng)不同用戶的需求,允許系統(tǒng)開(kāi)發(fā)者或者系統(tǒng)管理員在不更改系統(tǒng)源代碼的前提下對(duì)系統(tǒng)中的報(bào)表進(jìn)行增加或者修改,并允許最終用戶在打印輸出時(shí)控制報(bào)表的數(shù)據(jù)和輸出格式,十分靈活。模型成功應(yīng)用于我們開(kāi)發(fā)的一套電費(fèi)管理信息系統(tǒng)中,取得了預(yù)期的效果。此模型不依賴(lài)具體的應(yīng)用,具有通用性,可以應(yīng)用于其他的管理信息系統(tǒng)。

      1、FastReport簡(jiǎn)介

      不同單位不同應(yīng)用的使用需求具有較大的差異,最終用戶在很大程度上是以生成系統(tǒng)報(bào)表的方便性和靈活性兩個(gè)指標(biāo)來(lái)評(píng)價(jià)系統(tǒng)的成功與否。對(duì)于管理信息系統(tǒng)的設(shè)計(jì)者和開(kāi)發(fā)者來(lái)講,需要選擇一個(gè)簡(jiǎn)單易用并能夠滿足最終用戶需求的報(bào)表組件。

      FastReport是高彈性的報(bào)表設(shè)計(jì)器,用于報(bào)表的數(shù)據(jù)可以從任何類(lèi)型的數(shù)據(jù)源獲取,F(xiàn)astReport不僅包含最終用戶更改報(bào)表設(shè)計(jì)的能力,而且能夠適應(yīng)查詢和數(shù)據(jù)庫(kù)的變化。另外,F(xiàn)astReport還包含自己的腳本語(yǔ)言,讓?xiě)?yīng)用程序和最終用戶能夠更容易地改變報(bào)表。

      FastReport包含一組方便靈活的報(bào)表工具控件:報(bào)表引擎、報(bào)表設(shè)計(jì)器、報(bào)表預(yù)覽控件。FR設(shè)計(jì)器提供了Text、Band、Picture、SupReport及Barodoe等對(duì)象,同時(shí)內(nèi)嵌強(qiáng)大的類(lèi)Pascal腳本語(yǔ)言解釋程序,用戶可以任意使用這個(gè)設(shè)計(jì)器,只需使用鼠標(biāo)就可以創(chuàng)建大多數(shù)報(bào)表。

      使用FastReport設(shè)計(jì)報(bào)表時(shí)至少要用到兩個(gè)控件:

      1.1 TfrxReport控件是主要的報(bào)表生成控件。用于編輯報(bào)表,在設(shè)計(jì)時(shí)雙擊這個(gè)控件打開(kāi)報(bào)表設(shè)計(jì)器窗口。這個(gè)控件是所有報(bào)表都必需的,用于確定報(bào)表設(shè)計(jì)和版面。

      1.2 TfrxDBDataSet控件為報(bào)表提供數(shù)據(jù)源連接。一般的管理信息系統(tǒng)報(bào)表的數(shù)據(jù)都是從數(shù)據(jù)庫(kù)中取出來(lái)的,使用TfrxDBDataSet可以指定數(shù)據(jù)源,數(shù)據(jù)源可以是Ttable或TdataSource。在報(bào)表中的每個(gè)數(shù)據(jù)區(qū)域必須有一個(gè)這個(gè)控件的實(shí)例。

      2、通用報(bào)表模塊模型設(shè)計(jì)

      一個(gè)通用的報(bào)表模塊允許開(kāi)發(fā)者或者系統(tǒng)管理員能夠在不更改系統(tǒng)源代碼的前提下,往系統(tǒng)中增加一些報(bào)表或者修改現(xiàn)有的報(bào)表。并允許系統(tǒng)最終用戶在實(shí)際打印報(bào)表時(shí)對(duì)進(jìn)行輸出項(xiàng)目選擇,并對(duì)數(shù)據(jù)進(jìn)行篩選。一個(gè)典型的管理信息系統(tǒng)中,一般包含用戶權(quán)限的管理,對(duì)于報(bào)表模塊來(lái)講,不同的用戶角色,其使用報(bào)表的權(quán)限也是不同的。所以報(bào)表模塊也應(yīng)該具有權(quán)限管理的功能。

      我們的模型在實(shí)現(xiàn)中主要包含兩個(gè)表S-Report和S-ReportRight。其中SReport是這個(gè)模型的核心數(shù)據(jù)表,用于實(shí)現(xiàn)報(bào)表權(quán)限管理,該表結(jié)構(gòu)為:Report-ID(報(bào)表的ID)、Type-ID(報(bào)表類(lèi)別ID)、ReportName(報(bào)表名稱(chēng),報(bào)表輸出時(shí)的標(biāo)題)、ReportDescription(報(bào)表描述,用于向最終用戶介紹此報(bào)表的功能和使用方法)、TableName(表、視圖名稱(chēng),用于確定從那個(gè)表、視圖中取數(shù)據(jù))、FieldsName(候選字段名稱(chēng)列表:可以用于報(bào)表中輸出的字段列表)、FieldsAlias(候選字段對(duì)應(yīng)的中文名稱(chēng)列表:用于在報(bào)表中列的標(biāo)題)、FieldsType(候選字段類(lèi)型列表,用于報(bào)表輸出時(shí)對(duì)數(shù)據(jù)進(jìn)行格式化)、SqlField(用戶選擇的字段列表)、SqlWhere(數(shù)據(jù)篩選條件)、SqlGroup(數(shù)據(jù)分組條件)、SqlOrder(數(shù)據(jù)排序條件)AccountField(需要合計(jì)的字段列表)、ColWidt(報(bào)表輸出列寬設(shè)置)、PaperType(紙張類(lèi)型選擇)、Orientation(打印方向)、frxFile(報(bào)表模板文件)。在實(shí)際的應(yīng)用中,核心數(shù)據(jù)表中每一條記錄對(duì)應(yīng)一個(gè)報(bào)表,以Report-ID標(biāo)識(shí)。其中序號(hào)5~12的字段用于生成從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)的SQL語(yǔ)句。序號(hào)14~16用于生成報(bào)表結(jié)果時(shí)的輸出格式的限制。

      TableName標(biāo)明此報(bào)表的數(shù)據(jù)從哪一個(gè)數(shù)據(jù)表(視圖)中查詢,F(xiàn)ieldsName是TableName中可以用于報(bào)表輸出的所有字段列表,F(xiàn)ieldsAlias是FieldsName中所列各個(gè)字段對(duì)應(yīng)的中文名稱(chēng)列表,這個(gè)主要是因?yàn)閿?shù)據(jù)庫(kù)中一般使用英文字符作為字段名稱(chēng),而在報(bào)表輸出時(shí),各列的標(biāo)題一般使用中文。FieldsType是FieldsName中所包含的各個(gè)字段的類(lèi)型的標(biāo)識(shí),用于報(bào)表輸出時(shí)的格式控制,例如表示價(jià)格或者金額的數(shù)據(jù),要輸出一個(gè)人民幣符號(hào)“¥”,并且精確到小數(shù)點(diǎn)后兩位。SqlFields用于標(biāo)識(shí)最終用戶選擇了TableName中的哪些字段進(jìn)行報(bào)表輸出。SqlWhere表示TableName中符合什么條件的數(shù)據(jù)才會(huì)被輸出到報(bào)表,也是可以讓最終用戶設(shè)置的SqlGroup是數(shù)據(jù)分組條件,用于進(jìn)行數(shù)據(jù)分組。SqlOrder用于把從TableName查詢出來(lái)的數(shù)據(jù)排序。AccountField用于標(biāo)識(shí)哪些字段需要進(jìn)行合計(jì)。

      S-ReportRight用于實(shí)現(xiàn)報(bào)表權(quán)限管理。報(bào)表權(quán)限管理數(shù)據(jù)表結(jié)構(gòu)和各個(gè)字段的含義為Report-ID(報(bào)表ID)、UserGroup-ID(用戶所屬組ID)。一個(gè)屬于用戶組(G1)的用戶(User1)擁有查看輸出一個(gè)報(bào)表(Report1)的條件是當(dāng)且僅當(dāng)在報(bào)表權(quán)限管理數(shù)據(jù)表中存在一條記錄(Report1,G1)。

      在一個(gè)典型的報(bào)表使用過(guò)程中,用戶進(jìn)入報(bào)表選擇界面,此界面上顯示了當(dāng)前用戶擁有操作權(quán)限的報(bào)表列表,并按報(bào)表類(lèi)別分類(lèi)列出。用戶選擇任一報(bào)表,界面上列出此報(bào)表的標(biāo)題(ReportName)和描述(ReportDescription)。用戶確認(rèn)之后,根據(jù)此報(bào)表對(duì)應(yīng)的S-Report中的記錄,生成一個(gè)SQL語(yǔ)句,并從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),并將數(shù)據(jù)顯示在報(bào)表打印界面中,在此界面上,用戶可以進(jìn)行數(shù)據(jù)列選擇、數(shù)據(jù)篩選、紙張選擇、打印方向設(shè)定、輸出列寬設(shè)定等各項(xiàng)操作,這些操作的結(jié)果會(huì)保存到S-Report表中,以避免用戶下次打印的時(shí)候重新設(shè)定。用戶的這些操作將導(dǎo)致數(shù)據(jù)查詢SQL語(yǔ)句的變化,報(bào)表打印界面將使用新的SQL語(yǔ)句查詢數(shù)據(jù)并顯示。之后在用戶進(jìn)行報(bào)表打印之前,系統(tǒng)根據(jù)SReport中frxFile字段打開(kāi)報(bào)表模板文件,并使用查詢出來(lái)的數(shù)據(jù)進(jìn)行報(bào)表生成。

      [1]張向群,張一品.基于FastReport組件的復(fù)雜報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)[J].許昌學(xué)院學(xué)報(bào),2005(9)

      [2]葛濤.Delphi中運(yùn)用FasReport設(shè)計(jì)和制作報(bào)表[J].微型電腦應(yīng)用,2004(3)

      10.3969/j.issn.1001-8972.2011.24.043

      猜你喜歡
      字段控件列表
      巧用列表來(lái)推理
      圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
      學(xué)習(xí)運(yùn)用列表法
      擴(kuò)列吧
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      CNMARC304字段和314字段責(zé)任附注方式解析
      無(wú)正題名文獻(xiàn)著錄方法評(píng)述
      不含3-圈的1-平面圖的列表邊染色與列表全染色
      關(guān)于CNMARC的3--字段改革的必要性與可行性研究
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      闻喜县| 阿拉善左旗| 尤溪县| 化隆| 盐城市| 准格尔旗| 武平县| 团风县| 鸡东县| 民县| 和林格尔县| 确山县| 萨嘎县| 荔波县| 庆城县| 惠水县| 巍山| 宜宾市| 潜江市| 临夏县| 府谷县| 罗平县| 阳春市| 石景山区| 四平市| 临汾市| 库伦旗| 北安市| 连云港市| 太谷县| 驻马店市| 广元市| 汤阴县| 沾化县| 伊吾县| 乐昌市| 舟山市| 乐东| 祁阳县| 饶河县| 两当县|