Crystal Report.net Web報表開發日記(二)

來源:互聯網
上載者:User
web 使用Crystal Report.net進行開發的一些預備知識:

執行模式
  水晶報表取資料可以使用下面的方法實現:
  Pull 模式:
  被請求時,水晶報表直接根據指定的驅動串連資料庫然後組裝這些資料。
  Push 模式 :
  此時開發表不得不自己編寫代碼串連資料並組裝DataSet,同時將它傳送至報表。在些這種情況下,通過使用串連共用以及限制記錄集合的大小,可以使用報表效能最大化。

報表類型:
  水晶報表設計師能夠直接包含報表至工程也能夠使用獨立的報表對象。
  Strongly-typed 報表 :
  當你將報表檔案加入到項目中去時,它就變成了一個了“ strongly-typed“報表。在這些情況下,你將擁有直接建立報表的對象的權力,這將減少一些代碼並且能夠提供一些效能。
  Un-Typed 報表 :
  這裡的報表並不直接包含在項目中,因此稱為‘un-typed’ 報表。在這種情況下,你不得不使用水晶報表的”ReportDocuemt“對象建立一個執行個體,並且”手動“地凋用報表。

其它注意事項
  儘管水晶報表檢視器擁有一些很酷的功能,如縮放、頁面導航等。但是他不提供列印功能,你不得不調用遊覽器的列印功能。
  VS.Net中的水晶報表如果沒有註冊,那麼它只能使用30次,30次後,”儲存“功能就不能再使用了。為了避免這個,你不是不在 http://www.crystaldecisions.com/這裡註冊此產品。 (好像不是這樣子的,不註冊也好像能用很長的時間,只是不能提供支援)
  預設安裝的水晶報表只能支援5個使用者,為了支援更多的使用者,你不得不在 http://www.crystaldecisions.com/中購買許可證。



      我在實際開發應用中使用的是Push 模式 : , 因為一般表格模式比較簡單,在Web開發上完全可以用其他方式替代,因此,我使用的是實際開發中的圖形報表做為例子。

開發步驟如下:
1、在項目中建立一個資料集,然後右鍵->選擇“建立element”,element的名稱就是資料表的名稱。
      資料集名稱暫時定為:ReportData,element相當於一個資料表,名稱暫訂為:DataTable,下一步是給element
      增加欄位,也就是我們報表中要使用的資料。注意欄位類型。

2、繪製一個空的Crystal Report的報表檔案(*.rpt),然後,在報表繪製介面上右鍵->選擇“資料庫->添加/刪除資料庫”開啟“資料庫專家”,選擇“項目資料->ADO.net資料集”,你會看到剛才建立的element資料集ReportData,選用DataTable做為報表資料。下一步,通過報表專家插入“圖表”,使用DataTable中的資料欄位
來產生報表的資料。

3、建立一個Web表單,在表單上放一個CRYSTALREPORTVIEWER控制項!寫代碼擷取填充一個定義的資料集DataSet,然後,產生一個“報表檔案的對象”,把該對象的資料來源指向已經填充資料的DataSet,對CRYSTALREPORTVIEWER控制項的ReportSource屬性賦值等於產生的“報表檔案的對象”,CRYSTALREPORTVIEWER控制項的Visible屬性設定為true   ;

代碼注意事項:
1、DataSet中填充資料的表的名稱必須和原來定義的element一致,否則報表出來會是空白
2、用於填充DataSet資料表的欄位也要和element定義的欄位屬性,名稱一致!
比如:
element中定義欄位有兩個:EntryName string, EntrySales decimal

填充DataSet的SQL語句,
Select B.Item_Name as EntryName ,Sum(A.Expend_Money) AS EntrySales  From T_Ware_Sales .......


完成以上3個步驟,你就可以在IE上看到你的Web圖形報表了,其實就是Crystal產生的一張圖片!
大功告成!

下一個章節,我將用自己的代碼來詳細說明整個過程。不過要是熟悉.net開發的按照我在本章節所描述的內容,應該已經沒問題了!
 


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。