• 
    

    
    

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

      ?

      VS.NET中Crystal?。遥澹穑铮颍簦蟮氖褂?/h1>
      2007-07-05 01:40池同柱
      智能計算機(jī)與應(yīng)用 2007年3期
      關(guān)鍵詞:適配器數(shù)據(jù)源控件

      陳 平 池同柱

      摘要:介紹了Crystal Reports功能、結(jié)構(gòu)和特點.通過在VS.NET創(chuàng)建具體的Windows應(yīng)用演示了Crystal Reports的強(qiáng)大功能。

      關(guān)鍵詞:VS.NETCrystalReports

      中圖分類號TP312文獻(xiàn)標(biāo)識碼A文章編號:1002-2422(2007)03-0019-02

      1Crystal Reports簡介

      1.1Crystal Reports的功能

      (1)支持多種數(shù)據(jù)源和強(qiáng)大的內(nèi)容創(chuàng)建功能;(2)交互式和自定義功能;(3)將報表并入應(yīng)用程序。

      1.2Crystal Reports的結(jié)構(gòu)

      Crystal Reports訪問數(shù)據(jù)庫文件需要經(jīng)過三層(如圖1):Crystal Reports作為接口運行,通過此接口可以對數(shù)據(jù)庫文件中存儲的數(shù)據(jù)進(jìn)行格式化、排列、選擇和排序。它通過與數(shù)據(jù)轉(zhuǎn)換層中的一個或多個文件通訊來獲取數(shù)據(jù),此數(shù)據(jù)轉(zhuǎn)換層通過一組專用于Crystal Reports的DLL對來自不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行轉(zhuǎn)換。

      Crystal Reports Designer用于報表的設(shè)計,用戶可以在報表設(shè)計過程中設(shè)置報表的標(biāo)題、插入數(shù)據(jù)、公式、圖表、子報表等操作。

      Crystal Reports Viewer是用于查看報表的控件。對于Web應(yīng)用和Windows應(yīng)用分別有不同的Viewer控件,但其功能基本相同,主要用途都是查看應(yīng)用程序中的報表。除此之外,查看器控件對報表的控制是非常有限的。

      報表文件是在Crystal Reports Designer中設(shè)計的,用來確定來自數(shù)據(jù)源的數(shù)據(jù)顯示方式的文件,默認(rèn)安裝方式下VS.NET已經(jīng)安裝一些報表文件(.rpt)示例。

      1.3Crystal Reports的執(zhí)行模式

      DataSouree是報表文件中數(shù)據(jù)的來源。報表文件取得數(shù)據(jù)的方法有兩種:一種是讓Crystal Reports自己選擇數(shù)據(jù)而不使用任何代碼;另一種是手動編寫代碼組裝DataSet,然后將DataSet作為數(shù)據(jù)源綁定到報表文件。

      對應(yīng)兩種不同的取數(shù)據(jù)的方法,Crystal Reports有兩種執(zhí)行模式:

      (1)Pull模式:被請求時,Crystal Reports直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫,然后組裝這些數(shù)據(jù)。

      (2)Push模式:開發(fā)人員需要自己編寫代碼連接數(shù)據(jù)庫并組裝DataSet,同時將DataSet中的數(shù)據(jù)傳送至Crysta]-Reports。

      1.4Crystal Reports的報表類型

      (1)Strongly-Typed報表:如果報表被加入到項目中去,則該報表即為Stronsly-Typed報表。此時用戶擁有創(chuàng)建報表對象的權(quán)力,能夠減少代碼并提高性能。

      (2)Un-Typed報表:如果報表不直接包含在項目中,稱為Un-Typed報表。此時,用戶需要用Crystal Reports的ReportDocument對象創(chuàng)建一個實例,并手動調(diào)用報表。

      2Crystal Reports在VS.NET中的應(yīng)用

      2.1建立到數(shù)據(jù)源的連接

      Crystal Reports支持多種類型數(shù)據(jù)的訪問,如訪問ODBC數(shù)據(jù)源、OLEDB數(shù)據(jù)源、Excel、Access中的數(shù)據(jù)、XML、OLAP數(shù)據(jù)源。用戶可以根據(jù)報表中數(shù)據(jù)的具體來源建立到相應(yīng)數(shù)據(jù)源的連接。若在Windows應(yīng)用中報表的數(shù)據(jù)來源于SQL Server2000,可在VS.NET中從“工具箱”的“數(shù)據(jù)”選項卡上將“sqlConnection控件”拖到報表窗體中,在窗體下方顯示該控件自動命名為sqlConnection1。

      在sqlConnection1控件的屬性窗口中配置Connection-String屬性,選擇“新建連接”,指定數(shù)據(jù)庫服務(wù)器名稱為“TBDYJ”,選取合適的身份認(rèn)證方式并輸入身份認(rèn)證信息,如果正確即可繼續(xù)選取該數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫“students”,認(rèn)證信息不正確則無法繼續(xù)進(jìn)行。

      2.2建立數(shù)據(jù)適配器

      從VS.NET的“工具箱”的“數(shù)據(jù)”選項卡中拖動“sql-Data.Adapter控件”到將要創(chuàng)建報表的窗體中去,建立名為sqlDataAdapter1的數(shù)據(jù)適配器同時自動彈出數(shù)據(jù)適配器向?qū)?shù)據(jù)適配器進(jìn)行配置。選了剛剛建立的到數(shù)據(jù)庫連接,選擇“使用SQL語句”訪問數(shù)據(jù)庫,通過“查詢生成器”將對視圖V_stud的查詢作為數(shù)據(jù)適配器訪問數(shù)據(jù)庫students的方式。

      按照同樣的方式再創(chuàng)建兩個數(shù)據(jù)適配器sqlDataAdapter2和sqlDataAdapter3,分別配置為通過對視圖V_course、V_sc查詢來訪問數(shù)據(jù)庫students。

      2.3生成ADO.NET數(shù)據(jù)集對象

      選取sqlDataAdapter1并右鍵單擊選中快捷菜單中的“生成數(shù)據(jù)集”,此時會彈出“生成數(shù)據(jù)集”的對話窗口,在其中選擇“新建”并輸入新創(chuàng)建的數(shù)據(jù)集對象的名稱,默認(rèn)為DataSet1,此時系統(tǒng)自動在當(dāng)前項目中添加一個名為DataSet1的數(shù)據(jù)集對象,同時生成數(shù)據(jù)集對象DataSet1的一個實例,默認(rèn)名稱為DataSet11,并為數(shù)據(jù)集建立架構(gòu),其中包含了數(shù)據(jù)庫students中視圖V_stud及其字段和類型的描述,但并不包括實際數(shù)據(jù)。

      2.4設(shè)計新報表

      若準(zhǔn)備在當(dāng)前的工程中創(chuàng)建三種不同的報表分別顯示學(xué)生情況、課程情況和每門課程學(xué)生選修情況及成績,必須根據(jù)三種報表所要反映的內(nèi)容創(chuàng)建三種不同類型的報表。

      先創(chuàng)建反映學(xué)生情況的報表。在“解決方案資源管理器”中選取當(dāng)前的工程名稱,右鍵單擊在快捷菜單中選取“添加新項”,并在彈出的窗口的“模板”中選取“Crystal Report”,再輸入名稱即可,默認(rèn)為CrystalReport1,此時即建立了一個新的報表類同時自動打開報表創(chuàng)建向?qū)?,用戶可充分利用這些向?qū)Э焖賱?chuàng)建各種類型的功能強(qiáng)大的報表,在向?qū)У膸椭驴梢钥焖龠x取報表中使用的數(shù)據(jù)來源(來源于剛剛生成的數(shù)據(jù)集DataSet11中的表V_stud)、選取在報表中要顯示的字段、數(shù)據(jù)分組的依據(jù)字段、是否進(jìn)行總計、對報表中的數(shù)據(jù)進(jìn)行篩選、報表類型、圖表類型等。設(shè)置完成后,可在報表設(shè)計器中對剛剛設(shè)置過的報表樣式外觀進(jìn)行修改和調(diào)整。

      依同樣的方法可建立另外兩個報表文件CrystalReport2和CrystalReport3,分別用來顯示課程信息和學(xué)生成績信息。

      2.5添加“CrystalReportViewer”控件

      CrystalReportViewer是用于查看報表文件的控件,從

      “工具箱”的“Windows窗體”中選取CrystalReportViewer控件到窗體中去,默認(rèn)名字為CrystalReportViewer1,為了能夠在一個報表查看控件中查看三種不同的報表,可以窗體上再添加一個ComboBox控件comboBox1,在其屬性Items中設(shè)置三個選項:學(xué)生信息表、課程信息表、成績信息表,以方便用戶通過不同選擇查看不同的報表。

      2.6添加事件處理代碼

      采用數(shù)據(jù)訪問的push模式,將數(shù)據(jù)從數(shù)據(jù)源中需要的數(shù)據(jù)推入數(shù)據(jù)集中,并將在報表所在的窗體加載事件(Form_Load事件)中添加如下代碼:

      sqlDataAdapter1.Fill(dataSetll,“V_stud”);

      CrystalReport1 myrpt=new CrystalReport1();

      myrptSetDataSource(dataSetll);

      crystalReportViewer1.ReportSource=myrpt;

      可以通過ComboBox控件來選擇所要查看的報表文件,還必須在comboBox1控件的SelectedindexChanged事件中添加如下代碼:

      switch(int32.Pame(comboBox1.Selectedindex.ToString())){

      case 0:{

      sqlDutaAdaptcr1.Fill(dataSet11,“V_stud”);

      CrystalReport1 myrpt=new CrystalReport1();

      myrpt.SetDataSource(dataSet11);

      crystalReportViewer1.ReportSource=myrpt;

      break;}

      case 1:{

      sqlDataAdapter2.Fill(dataSetll,“v_cou”);

      CrystaReport2 myrpt=new CrystalReport2();

      myrpt.SetDataSource(dataSet11);

      crystalReportViewcr1.ReportSource=myrpt;

      break;}

      case 2:{

      sqlDataAdapter3.Fill(dataSet11,“V_SC”);

      CrystalReport4 myrpt=new CrystalReport4();

      myrpt.SetDataSource(dataSet11);

      crystalRcportViewer1.ReportSource=myrpt;

      break;}

      3結(jié)束語

      本文通過使用Crystal Reports的Push數(shù)據(jù)訪問模式在Windows應(yīng)用程序中建立復(fù)雜的圖表應(yīng)用,展示了CrystalReports的功能:對于報表的更復(fù)雜的控制,可以使用通過非類型化的報表組件,在程序中進(jìn)行控制。

      猜你喜歡
      適配器數(shù)據(jù)源控件
      使用“填表單”微信小程序 統(tǒng)計信息很方便
      基于.net的用戶定義驗證控件的應(yīng)用分析
      圖表中的交互 數(shù)據(jù)鉆取還能這么用
      基于3D打印的輕型導(dǎo)彈適配器
      電源適配器怎么選
      基于Excel的照片查詢系統(tǒng)開發(fā)與應(yīng)用
      再談利用郵件合并功能批量生成準(zhǔn)考證
      6款電力線網(wǎng)絡(luò)適配器橫向評測
      美國麥格普公司新型M—LOK相機(jī)三腳架適配器
      數(shù)據(jù)有增加 圖表自適應(yīng)

      丰宁| 屯留县| 抚州市| 乐亭县| 启东市| 建瓯市| 栾城县| 治多县| 高平市| 社旗县| 荔波县| 铁岭市| 恩平市| 牙克石市| 鹰潭市| 江孜县| 福泉市| 彩票| 凌源市| 阿克苏市| 方正县| 泽库县| 海兴县| 娱乐| 双辽市| 盖州市| 凭祥市| 南充市| 醴陵市| 乡城县| 龙井市| 安庆市| 盱眙县| 容城县| 舞钢市| 宁波市| 宁强县| 秭归县| 金乡县| 富阳市| 通城县|