網友評分: 9.2分
Crystal Reports 2010是一款專業針對商務報表打造的完美解決方案,擁有豐富的報表樣式和圖表,內置了豐富的報表模板供用戶選擇,同時還擁有可視化的設計環境,可以方便開發者快速上手進行報表的開發等操作,內置了豐富的公式語言供開發者選擇。
一、豐富的呈現形式——輔助發現問題
多種報表樣式:普通行列報表、主/子報表,交叉表,圖形摘要報表
20多種圖形:條形圖,餅圖,曲線圖,甘特圖,雷達圖,氣泡圖,股票圖,漏斗圖等
提供常用的報表模板:所有報表呈現連續性,不用每次重新設計
二、廣泛的數據源連接 - 整合多系統數據
提供超過35個數據源驅動用于訪問任何相關數據源
支持在一份報表中整合多個數據源
三、可視化設計環境 - 快速上手,自定義報表
通過拖放元素組成報表:標題,數據庫字段等
排序專家,分組專家,匯總專家,圖標專家等向導
強大的公式語言:160多個功能函數,自定義函數
四、多樣的文件導出格式 – 方便將信息遞交給用戶
Word、Excel、HTML、XML、PDF、RTF、CSV、TXT
1.創建連接到安全的SQL Server數據庫的報表。
在“解決方案資源管理器”中,右擊粗體顯示的項目名,指向“添加”,然后單擊“添加新項”。 在“添加新項”對話框的“模板”視圖中,選擇“Crystal Report”模板。 在“名稱”字段中,輸入名稱“NorthwindCustomers.rpt”,然后單擊“打開”。 在“Crystal Reports 庫”對話框的“創建新 Crystal Report 文檔”面板中,選擇“使用報表向導”。 在“選擇專家”面板中,選擇“標準”后,單擊“確定”。出現“標準報表創建向導”窗口。 在“可用數據源”面板中,展開“創建新連接”文件夾。 從打開的子文件夾中,展開“OLE DB (ADO)”文件夾。出現“OLE DB (ADO)”窗口。 選擇“Microsoft OLE DB Provider for SQL Server”并單擊“下一步”。 分別將數據庫服務器、用戶 ID 和密碼的值輸入到“服務器”、“用戶 ID”和“密碼”字段中。 從“數據庫”下拉列表中,選擇“Northwind”。取消選中“集成安全性”復選框,因為您使用的是 SQL Server 身份驗證而不是 NT 身份驗證。 單擊“完成”。OLE DB 文件夾將展開,顯示數據庫服務器及其中的 Northwind 數據庫。 展開“Northwind”、“dbo”和“表”節點,然后選擇“Customers”表。 單擊“>”符號,將該表移入“選定的表”面板,然后單擊“下一步”。 展開“Customers”表,按住 Ctrl 鍵的同時單擊“公司名稱”、“聯系人姓名”和“城市”。 單擊“>”符號,將這些字段移至“要顯示的字段”面板,然后單擊“下一步”。 在“可用字段”面板的“報表字段”下,選擇“客戶.城市”,然后單擊“>”符號將該字段移入“分組依據”面板,再單擊“完成”。NorthwindCustomers 報表創建完畢,并加載到 Visual Studio 的主窗口中。
2.綁定不帶登錄代碼的報表。
打開 Web 或 Windows 窗體。 從“視圖”菜單中,單擊“代碼”。 找到在 “項目設置”中創建的 ConfigureCrystalReports() 方法。 聲明一個字符串變量,將其命名為“reportPath”,然后將一個本地報表的運行時路徑賦值給它。對于網站項目和 Windows 項目,確定此路徑時會有所不同:對于網站,要將本地報表文件的名稱作為字符串參數傳遞到 Server.MapPath() 方法中。這樣,在運行時本地報表就會映射到硬盤文件目錄路徑。 C# Copy Code string reportPath = Server.MapPath("NorthwindCustomers.rpt");
對于 Windows 項目,要將 Application.StartupPath 屬性與一個反斜杠和本地報表文件名稱連接起來。這樣,報表將映射到與 Windows 可執行文件相同的目錄。
注意 編譯時,需要將報表復制到可執行文件所在的目錄。 C# Copy Code string reportPath = Application.StartupPath + "\" + "NorthwindCustomers.rpt";
將 NorthwindCustomers 報表的文件目錄路徑賦給 CrystalReportViewer 控件的 ReportSource 屬性。C# Copy Code crystalReportViewer.ReportSource = reportPath;測試 NorthwindCustomers 報表的加載過程。現在即可生成并運行項目。預計報表加載將失敗,因為此時尚未編寫數據庫登錄代碼。從“生成”菜單中選擇“生成解決方案”。 如果生成過程中出錯,請立即糾正。 如果在 Windows 項目中使用非嵌入式報表,請在 \bin\debug\ 子目錄中找到編譯后的 Windows 可執行文件,然后將報表復制到該子目錄中。注意 要讓 Windows 可執行文件在運行時加載非嵌入式報表,該報表必須與 Windows 可執行文件存儲在同一個目錄中。從“調試”菜單中,單擊“開始”。NorthwindCustomers 報表并不顯示。它會在添加數據庫登錄代碼后顯示。注意 結果可能會因為所使用的 Crystal Reports 版本不同而不同。例如,如果安裝了 Crystal Reports 10 和更高版本,則會提示您輸入該報表的數據庫登錄信息。如果運行的是較早版本的 Crystal Reports,則會引發異常。不論是哪種情況,都需要依照以下過程來創建功能完整的應用程序。返回到 Visual Studio,然后單擊“停止”從調試模式中退出。
3.添加報表登錄代碼。
返回到此 Web 或 Windows 窗體的代碼隱藏類。 在類的底部,創建名為 SetDBLogonForReport() 的新私有幫助器方法,并將 ConnectionInfo 傳遞給方法簽名。 C# Copy Code private void SetDBLogonForReport(ConnectionInfo connectionInfo){}在此方法內,從 CrystalReportViewer 類的 LogOnInfo 屬性獲取 TableLogOnInfos 實例。注意 TableLogOnInfos 是包含 TableLogOnInfo 類實例的索引類。 C# Copy Code TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnInfo;創建一個 foreach 循環,它在 TableLogOnInfos 索引類實例的各個 TableLogOnInfo 實例間循環。C# Copy Code foreach(TableLogOnInfo tableLogOnInfo in tableLogOnInfos){}在 foreach 循環中,將 TableLogOnInfo 的 ConnectionInfo 屬性設置為 ConnectionInfo 參數。C# Copy Code tableLogOnInfo.ConnectionInfo = connectionInfo;修改 ConfigureCrystalReports() 方法以處理數據庫登錄代碼。此過程創建了用于設置數據庫登錄的方法。但是,必須修改 ConfigureCrystalReports() 方法以處理此方法,這樣報表才能識別出其中含有數據庫登錄信息。
修改 ConfigureCrystalReports() 方法需要兩個步驟: 配置 ConnectionInfo 實例。 調用 SetDBLogonForReport() 方法。 在 ConfigureCrystalReports() 方法中,在將報表綁定到 CrystalReportViewer 控件的代碼之下聲明并實例化 ConnectionInfo 類。C# Copy Code ConnectionInfo connectionInfo = new ConnectionInfo();在下一行上,通過傳入 ConnectionInfo 實例調用 SetDBLogonForReport() 方法。 C# Copy Code SetDBLogonForReport(connectionInfo);設置 ConnectionInfo 實例的 DatabaseName、UserID 和 Password 屬性。注意 出于安全性考慮,使用訪問權限受到限制的數據庫帳戶非常重要。有關更多信息,請參見 “安全性:創建受限訪問數據庫帳戶”。 在編寫的代碼中,用自己的密碼代替示例密碼 654321(如下所示)。 C# Copy Code connectionInfo.DatabaseName = "Northwind";connectionInfo.UserID = "limitedPermissionAccount";connectionInfo.Password = "654321";測試 NorthwindCustomers 報表的加載過程?,F在即可生成并運行項目。由于已經添加了登錄數據庫的代碼,現在應該能夠正確加載報表了。 從“生成”菜單中選擇“生成解決方案”。 如果生成過程中出錯,請立即糾正。 從“調試”菜單中,單擊“開始”。NorthwindCustomers 報表將成功顯示。
返回到 Visual Studio,然后單擊“停止”從調試模式中退出。
4.添加在運行進更改數據庫位置的功能。
在本節中,將學習如何在運行時更改數據庫的位置。要實現此功能只需對 ConnectionInfo 實例稍加修改即可。注意 在本教程中,將更改數據庫服務器的名稱,而不是數據庫的名稱。無法使用 CrystalReportViewer 控件更改數據庫的名稱。在運行時更改數據庫位置。在 ConfigureCrystalReports() 方法中,在調用 SetDBLogonForReport() 方法的代碼后面創建幾行。 在這幾行中,設置 ConnectionInfo 實例的 ServerName 屬性。注意 在編寫的代碼中,用您的服務器名稱代替示例服務器名稱“DevDatabaseServer”(如下所示)。 C# Copy Code connectionInfo.ServerName = "DevDatabaseServer"; 測試是否能在運行時將報表重置到備用數據庫服務器?,F在即可生成并運行項目。報表應該會在運行時重定向到備用數據庫服務器。從“生成”菜單中選擇“生成解決方案”。 如果生成過程中出錯,請立即糾正。 從“調試”菜單中,單擊“開始”。NorthwindCustomers 報表將成功顯示。返回到 Visual Studio,然后單擊“停止”從調試模式中退出。
密鑰: CFKOA-YOTTM2M-OOUFAFF-N43M
注冊號: 6707437608。
標簽: Crystal Reports 報表制作