• 
    

    
    

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

      ?

      .NET環(huán)境下水晶報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)

      2013-12-10 14:07:14廣州市機(jī)電高級(jí)技工學(xué)校余楷鑫
      電子世界 2013年4期
      關(guān)鍵詞:程序員數(shù)據(jù)源水晶

      廣州市機(jī)電高級(jí)技工學(xué)校 余楷鑫

      廣州輕工職業(yè)學(xué)校 劉魁元

      一、水晶報(bào)表的模式

      水晶報(bào)表是開發(fā)數(shù)據(jù)報(bào)表的利器,在.NET平臺(tái)做過報(bào)表開發(fā)的程序員,一定都對(duì)水晶報(bào)表強(qiáng)大的報(bào)表設(shè)計(jì)功能留下深刻的印象。運(yùn)用水晶報(bào)表進(jìn)行開發(fā),能夠大大簡(jiǎn)化數(shù)據(jù)報(bào)表開發(fā)的難度,減少開發(fā)的工作量,其良好的接口功能,使得程序員在開發(fā)與維護(hù)過程中,往往能夠取得事半功倍的效果。水晶報(bào)表在應(yīng)用時(shí)分兩種方法,分別是拉模式(PULL)、推模式(PUSH)。下面將介紹水晶報(bào)表的這兩種模式。

      1.水晶報(bào)表的拉模式

      水晶報(bào)表的拉模式是指直接從數(shù)據(jù)庫(kù)獲取數(shù)據(jù),利用水晶報(bào)表的接口來(lái)實(shí)現(xiàn)報(bào)表展示,基本上不用手動(dòng)編寫代碼。該種模式只需要調(diào)整模版就可以設(shè)計(jì)好水晶報(bào)表,與數(shù)據(jù)的連接和執(zhí)行SQL命令都是交水晶報(bào)表來(lái)完成,其表現(xiàn)如圖1所示。拉模式適用于不需要對(duì)數(shù)據(jù)庫(kù)(或數(shù)據(jù)文件)中的數(shù)據(jù)進(jìn)行額外的處理(如數(shù)值計(jì)算等)的情況,其優(yōu)點(diǎn)是設(shè)計(jì)時(shí)非常方便,可以隨時(shí)對(duì)設(shè)計(jì)的情況進(jìn)行預(yù)覽,但在應(yīng)用程序部署時(shí)則比較繁瑣(如需要設(shè)定數(shù)據(jù)庫(kù)連接的數(shù)據(jù)源及驅(qū)動(dòng))。

      在拉模式下,只要按照?qǐng)?bào)表專家的向?qū)?lái)操作,水晶報(bào)表直接根據(jù)指定的驅(qū)動(dòng)連接數(shù)據(jù)庫(kù)然后組裝這些數(shù)據(jù),不需要開發(fā)人員編寫代碼。但是其缺點(diǎn)也是顯而易見的,用拉模式設(shè)計(jì)的水晶報(bào)表在運(yùn)行環(huán)境或者數(shù)據(jù)庫(kù)變動(dòng)時(shí),其調(diào)整比較麻煩。另外在設(shè)計(jì)與實(shí)現(xiàn)上,拉模式的靈活性不足也是存在的一個(gè)問題,作為程序員,該模式是不被喜歡的,所以本文并不推薦使用水晶報(bào)表的拉模式。

      2.水晶報(bào)表的推模式

      水晶報(bào)表的推模式也是需要獲取數(shù)據(jù)庫(kù)里的數(shù)據(jù)后在設(shè)計(jì)好的模板中展示出來(lái),所不同的是推模式能夠靈活的按照程序員的設(shè)想實(shí)現(xiàn)復(fù)雜的水晶報(bào)表,而且在維護(hù)上更加的便利,一定程度上降低了與數(shù)據(jù)庫(kù)的耦合度。其表現(xiàn)形式如圖2所示。在推模式中編程組裝的Dataset里的SQL語(yǔ)句中的字段要與水晶報(bào)表里的SQL語(yǔ)句字段一致。

      圖1

      圖2

      在水晶報(bào)表的推模式實(shí)現(xiàn)上,開發(fā)人員要編寫相應(yīng)的查詢代碼與報(bào)表中的字段相匹配,并且代碼中的數(shù)據(jù)庫(kù)表也要跟水晶報(bào)表中的保持一致,不然水晶報(bào)表便顯示不出數(shù)據(jù),筆者在這一點(diǎn)上曾經(jīng)吃過虧,調(diào)試了很久才發(fā)現(xiàn)這一疏漏。在簡(jiǎn)單的水晶報(bào)表實(shí)現(xiàn)上,相信有過這方面開發(fā)的人都有一定了解,但是涉及到多數(shù)據(jù)表展示在同一張打印報(bào)表上時(shí),未必就有人知道了,本文接下來(lái)將介紹如何解決多報(bào)表打印這一問題。

      二、如何利用水晶報(bào)表推模式實(shí)現(xiàn)多數(shù)據(jù)源綁定

      通過以上分析,程序員在設(shè)計(jì)開發(fā)水晶報(bào)表的時(shí)候,以推模式來(lái)實(shí)現(xiàn)更加的符合實(shí)際項(xiàng)目的要求,筆者將通過一個(gè)學(xué)生學(xué)籍報(bào)表來(lái)介紹水晶報(bào)表推模式的實(shí)現(xiàn)步驟。

      (1)實(shí)現(xiàn)的工具采用Visual Studio 2008,數(shù)據(jù)庫(kù)選擇SQL Server 2005,水晶報(bào)表則為Visual Studio 2008自帶的10.5版本。

      (2)在項(xiàng)目底下新建一個(gè)StuReport.aspx的頁(yè)面,在該頁(yè)面中放置查詢條件,并在工具箱的報(bào)表欄中拖入CrystalReportViewer和CrystalReportSource控件到頁(yè)面中,前臺(tái)主要代碼如下:

      如果是多個(gè)數(shù)據(jù)源的話,仿照上面將數(shù)據(jù)庫(kù)中的數(shù)據(jù)讀取到dataset中,這里需要注意的地方是Fill數(shù)據(jù)集的時(shí)候表名要和水晶報(bào)表中的保持一致。如果數(shù)據(jù)報(bào)表中需要顯示圖片的話,必須將圖片轉(zhuǎn)化為二進(jìn)制流的形式,因?yàn)関s 2008集成的水晶報(bào)表10.5只支持二進(jìn)制流的形式。

      (3)在同一目錄下新建一個(gè)student.xsd的頁(yè)面,創(chuàng)建數(shù)據(jù)庫(kù)字段的映射,該頁(yè)面是利用xsd標(biāo)記語(yǔ)言建立的。實(shí)際上,xsd可以認(rèn)為是一個(gè)數(shù)據(jù)中介,介于報(bào)表模板與數(shù)據(jù)之間。建成數(shù)據(jù)集,有三個(gè)數(shù)據(jù)庫(kù)表,分別為STU_V_StuInfo、STU_V_Family、STU_T_ConductReview,這三個(gè)表的表名對(duì)應(yīng)上面提到的dataset填充名。

      (4)接下來(lái)便是設(shè)計(jì)水晶報(bào)表頁(yè)面,首先便是綁定上面所示的數(shù)據(jù)源xsd文件,點(diǎn)擊字段資源管理器—數(shù)據(jù)庫(kù)字段,右鍵點(diǎn)擊數(shù)據(jù)庫(kù)專家。在數(shù)據(jù)庫(kù)文件中選擇我們創(chuàng)建的student.xsd文件。

      設(shè)計(jì)數(shù)據(jù)報(bào)表:因?yàn)槭嵌鄶?shù)據(jù)源展示到同一數(shù)據(jù)報(bào)表中,所以需要插入子報(bào)表。學(xué)生信息模塊為主報(bào)表,家庭成員模塊和操行評(píng)定模塊為子報(bào)表。

      點(diǎn)擊主報(bào)表,右鍵—插入--子報(bào)表,選擇鏈接標(biāo)簽,這里需要注意的地方是:主報(bào)表與子報(bào)表必須通過學(xué)生ID進(jìn)行關(guān)聯(lián),這樣才能使報(bào)表讀到的學(xué)生信息是同一個(gè)學(xué)生ID的信息。子報(bào)表中的字段設(shè)置方法與主報(bào)表一樣。

      設(shè)計(jì)完報(bào)表,我們就可以運(yùn)行我們所設(shè)計(jì)的報(bào)表界面。

      三、結(jié)束語(yǔ)

      學(xué)校學(xué)生學(xué)籍打印是學(xué)校學(xué)生管理系統(tǒng)的一項(xiàng)重要功能,運(yùn)用水晶報(bào)表來(lái)進(jìn)行學(xué)籍打印,能夠大大減少學(xué)籍管理員的工作量。本文利用水晶報(bào)表來(lái)解決這一問題,希望能給大家提供借鑒與參考。

      [1]滕永富,孫振龍,田麗軍,薛仁政.基于Web的研究生管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].齊齊哈爾大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(03).

      [2]李濤,屈展.基于.NET的Web動(dòng)態(tài)報(bào)表研究與實(shí)現(xiàn)[J].科技資訊,2008(03).

      [3]雷筱珍.水晶報(bào)表數(shù)據(jù)來(lái)源之.NET對(duì)象應(yīng)用技巧[J].福建電腦,2010(11).

      [4]張龍強(qiáng).一種.NET下報(bào)表打印的方法與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2010(19).

      [5]石俊萍.基于C#水晶報(bào)表數(shù)據(jù)源動(dòng)態(tài)綁定的實(shí)現(xiàn)[J].電腦與電信,2009(05).

      [6]洪穎.基于.net平臺(tái)下不同模式水晶報(bào)表的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)與信息技術(shù),2009(12).

      [7]莫麗萍.基于.NETB/S模式中水晶報(bào)表打印與套打的實(shí)現(xiàn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008(11).

      猜你喜歡
      程序員數(shù)據(jù)源水晶
      為了讓媽媽看懂地圖,一位“野生程序員”做了個(gè)小程序
      一張水晶卡告訴你浪漫都在哪
      金卡生活(2021年7期)2021-07-07 05:14:40
      怎樣成為一名優(yōu)秀程序員
      幼兒100(2020年29期)2020-10-21 06:17:58
      邁向UHD HDR的“水晶” 十萬(wàn)元級(jí)別的SIM2 CRYSTAL4 UHD
      藍(lán)水晶般的大眼睛
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      程序員之子
      意林(2017年24期)2018-01-02 22:49:14
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
      尋找藍(lán)水晶
      加班
      三月三(2016年6期)2016-06-21 10:25:33
      台中市| 尤溪县| 马龙县| 栾川县| 夏邑县| 南平市| 全州县| 永德县| 昭苏县| 江阴市| 淄博市| 余江县| 绍兴市| 封丘县| 平湖市| 巴东县| 云安县| 桂平市| 昌宁县| 沅江市| 新津县| 金门县| 凤城市| 徐水县| 启东市| 盘山县| 隆化县| 张家口市| 安顺市| 若羌县| 密山市| 思茅市| 颍上县| 西乌珠穆沁旗| 县级市| 嫩江县| 安义县| 广西| 宜都市| 潼关县| 沂南县|