490 likes | 675 Views
第十六章. Crystal Reports 報表檢視程式. 16-1 Crystal Reports 簡介. 微軟 Visual Studio .NET 上標準的報表產生工具,具有在 .NET 平台上建立具有互動式和簡報品質的報表功能。 使用 XML 的標準架構,使製作的報表容易裝載到 Windows 和 Web 平台,也就是說 Crystal Reports 所產生的報表發行到 Web 伺服器上後,位於前端的應用程式就可以使用它,在網路 (Web) 上來瀏覽或列印。. 16-1 Crystal Reports 簡介.
E N D
第十六章 Crystal Reports報表檢視程式
16-1 Crystal Reports簡介 • 微軟Visual Studio .NET上標準的報表產生工具,具有在 .NET平台上建立具有互動式和簡報品質的報表功能。 • 使用XML的標準架構,使製作的報表容易裝載到Windows和Web平台,也就是說Crystal Reports所產生的報表發行到 Web 伺服器上後,位於前端的應用程式就可以使用它,在網路(Web)上來瀏覽或列印。
16-1 Crystal Reports簡介 三. Crystal Reports支援不同的資料來源
1. 資料來源直接來自資料庫 • 建立報表: • 新增一個Windows From,在上面放上CrystalReportViewer控制項 • 註:報表相關的控制項皆放在工具箱Crystal Report的分頁中。 • 選擇/建立CrystalReportViewer來源的報表檔與資料來源:
1. 資料來源直接來自資料庫 • 輸入報表檔名稱 • 選擇報表類型 • 直接按確定 • 在報表建立精靈中,選擇「建立新連結」後,在OLE DB (ADO) 上雙按滑鼠
1. 資料來源直接來自資料庫 • 選擇資料庫類型以及資料庫檔案
1. 資料來源直接來自資料庫 • 在以下兩個視窗中分別引入Table以及想要列印的欄位後 • 按「下一步」,繼續設定報表的樣式 • 按「完成」,完成設定。
2. 資料來源直接來自專案的DataSet • 當Windows From中放置了一個BindingSource後,可以利用此控制項來根據連結的資料庫產生一個DataSet。
2. 資料來源直接來自專案的DataSet • 要將此建立的DataSet設定為報表的來源資料,則必須利用資料配接器(Adapter)將資料填入DataSet當中。 • 請新增項目,產生一個新的報表檔(選擇Crystal Report),命名為MyReport1.rpt • 可用的資料來源請從「專案資料」→「ADO.NET資料集」當中選擇,選取在表單中建立的DataSet後,按「>」,加入至報表。 • 按「下一步」,選取必要的欄位後,再按完成即可。
2. 資料來源直接來自專案的DataSet • 表單上加入CrystalReportViewer控制項,但不設定ReportSource(設為無)。
2. 資料來源直接來自專案的DataSet • 程式碼: • 請在表單的Load中輸入如下的程式碼: • 註:每當建立資料集,系統即為每一個資料表自動建立其所屬的Adapter的類別,類別名稱多為資料集名稱+TableAdapters • 類別宣告可以到資料集所屬的.cs檔當中去查詢
3. 資料來源來自自己創建的DataSet • 優點:根據自訂的條件產生欄位內容,增加使用的彈性。 • 讓報表檔的來源為一個自己建立的XML檔如下:
3. 資料來源來自自己創建的DataSet • 程式碼:
另存資料檔 • 將報表另存為Word、Excel、Pdf等不同的檔案格式: • 練習:請撰寫一個視窗程式,讓使用者輸入檔名與副檔名後,根據設定將報表轉存為不同型式的文件檔
16-3 Windows Form的報表檢視程式 二. 設計報表的基本技巧 • 如何新增、刪除報表檔內的資料表欄位 執行功能表的 [檢視(V)/其他視窗(E)/文件大綱(D)] 開啟如右圖的「欄位總管」視窗。在資料庫欄位選項都會顯示已經連線的資料表名稱,且有打紅色勾勾的欄位,表示這個欄位已經加入到報表中了,因此程式執行時報表會顯示這些欄位的資料。
16-3 Windows Form的報表檢視程式 • 如何新增、刪除、修改報表檔的文字物件 若報表檔中需要放置文字說明、標題...等相關資訊,你可在報表指定位置放置文字物件即可。其方法為:如右兩圖,在要加入文字物件的位置按右鍵,執行快顯功能表的 [插入/文字物件] ,此時滑鼠指標會拖曳一個灰色的虛框,請將灰色虛框拖曳到適當位置,接著就會出現文字物件,此時你可在文字物件內輸入文字。
16-3 Windows Form的報表檢視程式 • 如何設定文字樣式 你也可以使用「格式編輯器」視窗來設定文字的樣式。如文字的字體、大小、顏色、背景顏色、框線…等。你只要在要修改的文字物件上,或要修改的文字上按右鍵,由快顯功能表中執行「格式…」 ,此時會出現如右下圖的格式編輯器,你就可以透過格式編輯器來設定文字的各種樣式。
16-3 Windows Form的報表檢視程式 • 如何在報表中加入線條、方塊、圖片 執行快顯功能表的 [插入/線條] ,此時滑鼠指標會變成一隻筆的圖示,這時你可利用滑鼠來繪製線條;若是執行 [插入/方塊] 即可由滑鼠指標繪製方塊;若執行 [插入/圖片...] 即會顯示「開啟」的對話方塊,此時你只要設定要加入的圖檔即可。
第十七章 多專案開發
目錄 17-1 方案與專案 17-2 多表單的程式設計 17-3 多表單常用的敘述與方法 17-4 多專案的操作 17-5 如何呼叫應用程式 17-6 多專案開發使用C# .NET與VB .NET
17-1 方案與專案 • 當你使用Visual C# .NET來開發Windows應用程式時,系統會產生一個資料夾,該資料夾的預設名稱為WindowsApplication1(該名稱在你新增專案時,即可自行更改)。而在這個資料夾內所放的,是一個專案的全部內容。亦即用Visual C# .NET所製作的一個應用程式,在整合環境中就是一個「專案」。 • 在預設的狀況下,當我們建立了一個應用程式的專案後,會附帶產生一個「方案」檔 *.sln,所謂的方案 (Solution) 通常用於多專案的開發上。
17-1 方案與專案(續) • 建立一個專案時會產生一些的相關檔案,我們假設所建立的方案與專案的名稱皆為CSProject,此時會產生以下各檔案,其檔案的命名及說明如下表:
17-2 多表單的程式設計 • 在一個Windows應用程式專案底下,系統預設提供一個Form1.cs以及一個一般組件資訊的檔案(AssemblyInfo.cs),其中Form1.cs是讓我們開發使用者介面的表單及撰寫程式碼的地方。在此我們稱這Form1.cs為表單檔。 • 假若你寫的應用程式很大且複雜,在專案檔中可能要二個或二個以上的表單檔,然而在多個表單檔中,可能會有一些常用或相同的程式碼,你可以將這些程式碼另外建立成一個獨立的類別檔(*.cs) 。
17-2 多表單的程式設計(續) • 如何建立與使用類別的靜態方法 • 如何建立類別的靜態方法 當類別的方法加上 static 存取修飾詞後,即稱為靜態方法,靜態方法不必使用new 關鍵字來建立物件實體便可以直接呼叫使用。 namespace 命名空間 { public class 類別名稱 { public static資料型別 方法名稱([引數串列])靜態方法 { 敘述區段 ; } } }
17-2 多表單的程式設計(續) • 如何呼叫類別的靜態方法 若測試程式與該類別建立在同一命名空間中,且使用上述語法建立類別的靜態方法,此時不必事件建立物件的實體,便可直接使用該類別的靜態方法,其語法如下: 類別名稱.方法名稱([引數串列]);
17-2 多表單的程式設計(續) • 如何建立表單檔 建立新的表單檔(簡稱表單)的方法為:執行功能表 [專案(P)/加入Windows Form(F)] 指令來開啟「加入新項目」對話方塊,新表單預設名稱依序為Form2.cs、Form3.cs…,你可以將表單更改成較合適的名稱。新表單的屬性設定和控制項的建立方法,都與原來的表單Form1相同。
17-2 多表單的程式設計(續) • 如何建立類別檔 建立新類別檔的方法為:執行功能表 [專案(P)/加入類別(C)] 指令來開啟「加入新項目」對話方塊。新建立的類別檔預設名稱依序為Class1.cs、Class2.cs…,類別檔的名稱亦可更改。 namespace 命名空間 { public class 類別名稱 { public static int Mul(int A, int B) { return A * B ; } } }
17-2 多表單的程式設計(續) • 範例 建立多表單的範例建立一個專案,內含三個表單檔frmSel.cs、frmInver.cs、frmCls.cs以及一個類別檔classString.cs。(p17-5)
17-2 多表單的程式設計(續) • 表單檔和類別檔的載入、刪除 一個已經存在磁碟中的表單檔或類別檔,我們可以選取功能表 [檔案(F)/加入現有項目(W)] 指令,加入到專案中。同一個類別檔可以供多個專案共同使用,所以我們可將同一性質的程式碼撰寫成類別檔,專案有需要就載入該類別檔套用。如果要將表單檔或類別檔,由專案中移走,只要在「方案總管」視窗中選擇該檔名,然後執行功能表 [專案(P)/從專案移除(J)] 指令就可以。
17-2 多表單的程式設計(續) • 設定程式起點 Visual C# .NET的Windows應用程式專案如果沒有經特別的設定,就會以第一個建立的表單檔的表單物件當作程式的啟始物件。除此之外,類別中若有設定Main方法,也可當作Visual C# .NET的啟始程式。
17-2 多表單的程式設計(續) • 範例 延續上一個範例,將frmSel.cs表單設定MultiClass專案的起始物件。(p17-8)
17-3 多表單常用的敘述與方法 • 在多表單專案的設計中,我們常會需要在執行某一個表單中開啟其他的表單。若要開啟其他的表單,首先必需先建立表單物件的實體,然後再透過表單物件的方法來顯示或隱藏表單。 一. 如何建立表單物件的實體 語法:表單物件名稱 myForm = new 表單物件名稱() ; 功能:宣告並建立表單物件的實體,其名稱為myForm。
17-3 多表單常用的敘述與方法(續) • 表單物件常用的方法 透過以下表單所提供的方法,可顯示或隱藏其它的表單物件。
17-3 多表單常用的敘述與方法(續) • 範例 延續上一個範例,使用三個表單檔及一個類別檔,使輸入字串分別以不同形式顯示。(p17-11)
17-4 多專案的操作 • 在Visual C# .NET中為了讓使用者能夠輕鬆的應用組合式應用程式的好處,特別在方案總管中加入管理多專案的功能。專案經理依據所要發展大型軟體的特性,將大型軟體分成許多個專案,交給各個程式設計師分頭設計。這些分別設計的專案,可以在Visual C# .NET整合環境中整合起來測試、編譯、執行,以完成整個軟體。本節將介紹如何在Visual C# .NET中使用多個專案。
17-4 多專案的操作(續) • 如何加入專案 在啟動Visual C# .NET時,系統只提供一個專案,你可執行功能表的 [檔案(F)/加入專案(D)/新增專案(N)] 或 [檔案(F)/加入專案(D)/現有專案(E)] 指令,來擴充你的方案內容。但是要注意的是,新加入的專案,會用自己的資料夾來管理,而這個資料夾可以不在方案所在的資料夾內。新增的專案在加入時,專案名稱可自行取較有意義的檔名或資料夾名稱,以方便記憶。
17-4 多專案的操作(續) • 範例 先新增一個空白方案,然後在空白方案新增兩個專案,並檢視兩個專案在工作區中的表單及「程式碼」視窗(p17-19)
17-4 多專案的操作(續) • 專案的編輯與執行在方案總管中的每個專案可以個別編輯與編譯成可執行檔。Visual C# .NET內定執行第一個專案,如果希望執行或編譯其它專案,只要將滑鼠移至「方案總管」視窗,選取該專案名稱,然後按滑鼠右鍵顯示快顯功能表,執行「設定為啟始專案(A)」指令即可。 • 如何移除專案 將滑鼠移至「方案總管」視窗,選取要移除的專案名稱,按滑鼠右鍵,顯示快顯功能表,執行「移除(V)」指令。
17-4 多專案的操作(續) • MDI開發環境 Visual C# .NET在安裝時,內定為SDI(Single Document Interface)開發環境。在SDI開發環境下,不同專案的表單在工作區(螢幕上)不容易看出屬於哪一個專案所有。必須到「方案總管」視窗選取指定專案的表單檔名稱,再按「方案總管」視窗工具列的 檢視物件圖示鈕或 檢視程式碼圖示鈕,才能顯示所要的表單或程式碼視窗。若你覺得如此很困擾,可使用MDI(Multiple Document Interface)開發環境。
17-4 多專案的操作(續) • 範例 延續上一個範例,練習使用MDI開發環境。(p17-24)
17-4 多專案的操作(續) • 多專案的實際用途 • Visual C# .NET除了可以開發一般的專案 (就是可以編譯成一個 *.exe 執行檔的專案) 之外,還可以有其它選擇,例如開發類別程式庫(*.DLL)、使用者自訂控制項…等等,這些專案並不是單獨的執行檔,它們只是 *.DLL 程式庫,這些專案並不能直接單獨執行,因此必須使用多專案的開發模式,也就是說除了這些專案之外,再加上一個測試用的一般專案,用來測試這些程式庫或使用者自訂的控制項。 • 多專案開發最大好處就是適合用在多人開發、建立XML Web Service專案時使用,其中在 .NET世界中多專案開發最特殊的就是多種語言的開發,也就是說所有支援 .NET的程式語言所開發之應用程式或元件可以互相呼叫使用。
17-4 多專案的操作(續) • 範例 簡易多專案開發實作,在Solution1方案中有一個WindowsApplication1及ClassLibrary1的專案,當在WindowsApplication1專案的表單按 鈕可以呼叫ClassLibrary1專案的表單,當在ClassLibrary1專案的表單輸入姓名並按 鈕,此時會返回WindowsApplication1專案的表單,並取得在ClassLibrary1專案中所輸入的姓名,然後姓名再與回應訊息「你好!歡迎光臨」字串合併,最後顯示在WindowsApplication1專案的表單上。(p17-28)
17-5 如何呼叫應用程式 • 在Visual C# .NET中,你可以使用 .NET Framework所提供的System.Diagnostics.Process.Strat方法開啟指定的檔案或應用程式,如*.doc、*.fla…等檔案,但是前提是你的電腦必需有安裝要呼叫程式的套裝軟體,例如要使用System.Diagnostics.Process.Strat方法開啟*.fla檔,你的電腦必需要安裝Flash MX才行。此外這個方法也可以用來超連結到其他網站,其語法如下: 語法1:System.Diagnostics.Process.Start(“任何檔案名稱”) ; 語法2:System.Diagnostics.Process.Start(“URL”) ; 功 能 :可開啟任何的檔案,且必須指定檔案所在之真實路徑。也可以開啟瀏覽器超連結到指定的網站。
17-5 如何呼叫應用程式(續) • 範例 利用Process.Strat方法啟動記事本、Flash MX所製作的影片檔及超連結到奇摩站。(p17-37)
17-6多專案開發使用C# .NET與VB .NET • 所有支援 .NET的程式語言,都可以直接引用 .NET Framework類別程式庫(*.dll)中的物件。在 .NET的世界中不同語言所開發之應用程式或元件也可以互相呼叫使用。在本節中我們將介紹如何將VB .NET及C# .NET兩種不同程式語言的專案整合在一起,再透過C# .NET表單取得VB .NET表單的資料。
17-6多專案開發使用C# .NET與VB .NET(續) • 範例 在VB .NET程式語言製作的表單上輸入本金、月數及利率後,會將其計算的存款金額結果傳給C# .NET程式語言所製作的表單。(17-40)