逐步解說:在本機處理模式中,搭配 ReportViewer Web 伺服器控制項使用資料庫資料來源
本逐步解說會示範如何針對 ASP.NET 網站建立報表,並將 ReportViewer 控制項加入到網頁上,好讓使用者可以檢視報表。
必要條件
若要使用這個逐步解說,您必須擁有 AdventureWorks2008 範例資料庫的存取權。如需詳細資訊,請參閱逐步解說:安裝 AdventureWorks 資料庫。
在電腦上執行以下步驟,以建立 ASP.NET 網頁,並在其上將 ReportViewer 控制項設定為可檢視本機報表。在這個範例中,您會在 Microsoft Visual Basic 中建立應用程式。
建立新的網站
在 [檔案] 功能表中,指向 [新增],選取 [網站]。
在 [新網站] 對話方塊中,選取 [已安裝的範本] 窗格中的 [Visual Basic],然後選擇 [ASP.NET 網站]。
在 [位置] 方塊中,指定專案目錄,然後按一下 [確定]。
網站專案隨即開啟。
加入 DataSet 來定義資料連接和 DataTable
選取 [網站] 功能表上的 [加入新項目]。
在 [加入新項目] 對話方塊中,選取 [資料集],然後按一下 [加入]。當系統提示您是否要將此項目加入到 App_Code 資料夾時,請按一下 [是]。
這樣會將新的 XSD 檔案 DataSet1.xsd 加入到專案中,並開啟 DataSet 設計工具。
將 TableAdapter 控制項從 [工具箱] 視窗拖曳到設計介面。這樣會叫用 [TableAdapter 組態精靈]。
在 [選擇資料連接] 頁面中,按一下 [新增連接]。
如果這是第一次在 Visual Studio 中建立資料來源,您會看到 [選擇資料來源] 頁面。在 [資料來源] 方塊中,選取 [Microsoft SQL Server]。
在 [加入連接] 對話方塊中,執行下列步驟:
在 [伺服器名稱] 方塊中,輸入 AdventureWorks2008 資料庫所在的伺服器。
預設 SQL Server Express 執行個體為 (local)\sqlexpress。
在 [登入伺服器] 區段中,選取提供您存取資料的選項。[使用 Windows 驗證] 為預設。
按一下 [選取或輸入資料庫名稱] 下拉式清單中的 AdventureWorks2008。
按 [下一步]。
如果您在上一個步驟中指定 [使用 SQL Server 驗證],請選取要在字串中包含敏感性資料還是在應用程式的程式碼中設定此資訊之選項。
在 [將連接字串儲存到應用程式組態檔] 頁面中,輸入連接字串的名稱,或接受預設值 AdventureWorks2008ConnectionString。按 [下一步]。
在 [選擇命令類型] 頁面上選取 [使用 SQL 陳述式],然後按 [下一步]。
在 [輸入 SQL 陳述式] 頁面中,輸入下列 Transact-SQL 查詢來從 AdventureWorks2008 資料庫擷取資料,然後按一下 [完成]。
SELECT d.Name as Dept, s.Name as Shift, e.BusinessEntityID as EmployeeID FROM (HumanResources.Department d INNER JOIN HumanResources.EmployeeDepartmentHistory e ON d.DepartmentID = e.DepartmentID) INNER JOIN HumanResources.Shift s ON e.ShiftID = s.ShiftID
您也可以按一下 [查詢產生器] 按鈕,並使用 [查詢產生器] 來建立查詢,然後使用 [執行查詢] 按鈕來進行檢查。如果查詢未傳回預期的資料,您可能使用了舊版的 AdventureWorks。如需有關安裝 AdventureWorks2008 版本之 AdventureWorks 的詳細資訊,請參閱逐步解說:安裝 AdventureWorks 資料庫。
現在,您已將 ADO.NET DataTable 設定成報表的資料來源。在 Visual Studio 的 [DataSet 設計工具] 頁面中,應該會出現您加入的 DataTable (預設名稱是 DataTable1),列出您的查詢定義所產生的資料行。從 [資料] 功能表中,您可以選取 [預覽資料],然後按一下 [預覽] 按鈕來檢查查詢結果。
在 [選擇要產生的方法] 頁面中,按一下 [完成]。
儲存檔案。
使用報表精靈設計報表
確認在 [方案總管] 中已選取最上層網站。
以滑鼠右鍵按一下網站,選取 [加入新項目]。
在 [加入新項目] 對話方塊中,選取 [報表精靈],輸入報表檔的名稱,再按一下 [新增]。
這會啟動 [報表精靈]。
在 [資料集屬性] 頁面中,選取 [資料來源] 方塊中您所建立的資料集。
[可用資料集] 方塊隨即自動更新為您所建立的 DataTable。
按 [下一步]。
在 [排列欄位] 頁面中,執行下列動作:
將 [Dept] 從 [可用的欄位] 拖曳至 [資料列群組] 方塊。
將 [Shift] 從 [可用的欄位] 拖曳至 [資料行群組] 方塊。
將 [EmployeeID] 從 [可用的欄位] 拖曳至 [值] 方塊。
按一下 [ Sum(EmplyeeID)] 旁的箭頭,然後選取 [Count]。
按 [下一步] 兩次,然後按一下 [完成] 關閉 [報表精靈]。
這會建立 .rdlc 檔案並在報表設計工具中開啟檔案。您所設計的 Tablix 現在會顯示在設計介面中。
儲存 .rdlc 檔案。
將 ReportViewer 控制項加入應用程式中
在 [方案總管] 中,以滑鼠右鍵按一下 Web Form Default.aspx,然後選取 [檢視表設計工具]。
開啟 [工具箱] 視窗。將 ScriptManager 控制項從 [AJAX 擴充功能] 群組拖曳至設計介面。
將 ReportViewer 控制項從 [工具箱] 視窗的 [報告] 群組拖曳至網頁的 ScriptManager 控制項下方。
如果尚未開啟,請按一下右上角的智慧標籤圖像,開啟 [ReportViewer 工作] 智慧標籤面板。在 [選擇報表] 方塊中選取您剛建立的報表。
當您選取報表時,會自動建立報表所用之資料來源的執行個體。這會產生程式碼來具現化每個 DataTable (及其 DataSet 容器),以及對應於報表中所用的每個資料來源之 ObjectDataSource 控制項。系統會自動設定這個資料來源控制項。
建立和執行應用程式
按 CTRL+F5 在非偵錯模式下執行頁面,或是按 F5 鍵在偵錯模式下執行。
建立過程中會編譯報表,並將找到的任何錯誤 (例如用於報表中的運算式語法錯誤) 加入到 [工作清單] 中。
此時網頁會出在瀏覽器中。ReportViewer 控制項會顯示報表。您可以利用工具列來瀏覽報表、縮放,以及匯出到 Excel 中。
關閉瀏覽器。
請參閱
參考
LocalReport.SubreportProcessing
LocalReport.SubreportProcessing