我是如何搞定複雜水晶報表的(2)

2021-09-21 20:42:20 字數 1689 閱讀 8415

要想獲取圖6-14中某門課程某個班級的成績表,除了必須獲取課程號和班級號這兩個主鍵以外,還必須獲取的資訊包括:某門課程某個班級教師閱卷時候設定的考試成績百分比值,以及參加該門課程考試的學生各個考試型別具體的成績,同時也必須獲取相應的學期資訊、課程名、專業名、班級名,而且在系統執行最後應當將考試成績的統計資料資訊一併顯示出來。因此,完成此案例涉及知識面廣,設計程式**比較複雜。

u實驗步驟1:

由於該專案設計資料庫複雜操作,故而提前建立兩個類檔案:buessinesslayer.cs和databaselayer.cs,分別代表業務邏輯部分**和資料庫部分**。有關databaselayer.cs的封裝方法,在ado.net章節已經有所論述,此處不再展開;對於buessinesslayer.cs中用到的方法,隨著案例的推進將注意講解分析。

圖6-15  

建立業務邏輯類和資料庫類檔案

u實驗步驟2:

將上一節建立的rpt檔案拷貝到當前winform專案的執行目錄內(即當前專案的\bin\debug\目錄下面)。同時再建立乙個新的form窗體,該窗體主要實現

通過選擇班級和課程顯示課程水晶報表的功能,

其介面如圖6-16所示。

圖6-16  

通過選擇班級和課程顯示課程水晶報表

在當前窗體的load事件中鍵入如下**:

//////窗體載入事件

///

///

///

private

void form4_load(object sender, eventargs e)

雙擊窗體的」顯示水晶報表」按鈕,進入按鈕單擊事件:

//////準備開啟水晶報表檔案

///

///

///

private

void button1_click(object sender, eventargs e)

else

}

u 實驗步驟3:

開啟form1窗體,該窗體僅僅有乙個crystalreportviewer控制項,用來顯示來自水晶報表的資料資訊。

圖6-17  form1

窗體進入form1窗體的**編輯檔案,鍵入如下**:

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

usingcrystaldecisions.shared;

usingcrystaldecisions.crystalreports.engine;

//注意:必須增加水晶報表的這兩個命名空間才可以在程式設計狀態下操作水晶報表物件。

namespace

}}

u實驗步驟4:

下面分別介紹上面主程式部分設計的業務邏輯層方法的具體**,由於這些方法都是引用了資料庫儲存過程部分,故而同時將展示儲存過程開發的**部分。

未完待續————————

VB程式列印水晶報表的典型方法2

描述 本文介紹另一種流行的一種vb 程式列印水晶報表的方法.環境 ms sql server 2000 vb6 crystal report8.5 步驟 1 建立odbc連線 2 建立乙個為crystal report報表檔案 3 載入microsoft activex data objects l...

如何更改水晶報表匯出檔案的名稱

很多朋友都利用水晶報表技術來做報表,它支援直接將報表匯出為包括excel,pdf在內的多種格式。它的匯出操作是通過crystalreportviewer上面的乙個匯出按鈕實現的。我們無需為此編寫任何 正因為我們沒有為其編寫 所以有乙個問題就隨之出現了。它內部處理的機制是 匯出的時候自動用crysta...

如何更改水晶報表匯出檔案的名稱

很多朋友都利用水晶報表技術來做報表,它支援直接將報表匯出為包括excel,pdf在內的多種格式。它的匯出操作是通過crystalreportviewer上面的乙個匯出按鈕實現的。我們無需為此編寫任何 正因為我們沒有為其編寫 所以有乙個問題就隨之出現了。它內部處理的機制是 匯出的時候自動用crysta...