逐步解說:在本機處理模式中,搭配 ReportViewer Web 伺服器控制項使用商務物件資料來源

本逐步解說會示範如何在 Microsoft Visual Studio 2008 ASP.NET 應用程式中使用報表內的物件資料來源。如需有關商務物件和物件資料來源的詳細資訊,請參閱繫結至商務物件

請執行下列步驟,將報表加入 Visual Studio ASP.NET 網站專案中。在這個範例中,您將在 Microsoft Visual C# 中建立應用程式。

建立新的 ASP.NET 網站專案

  1. 在 [檔案] 功能表中,指向 [新增],選取 [網站]。

  2. 在 [新網站] 對話方塊中,從 [語言] 下拉式清單選擇 Visual C#,再選擇 ASP.NET 網站範本。

  3. 在 [位置] 中,選擇 [HTTP],再輸入網站的 URL。預設值是 https://localhost/WebSite。按一下 [確定]。預設網頁會在程式碼檢視中開啟。

建立商務物件來做為資料來源使用。

  1. 在 [方案總管] 中選取專案網站 (以 http:// 開頭)。按一下滑鼠右鍵,選取 [加入新項目]。

  2. 在 [加入新項目] 對話方塊中,選擇 [類別],輸入 BusinessObjects.cs 做為檔案名稱,再按一下 [新增]。

  3. 當系統出現「您要將此類別放在 'App_Code' 資料夾嗎」的提示訊息時,請按一下 [是]。此時會將新檔案加入專案中,並在 Visual Studio 中自動開啟它。

  4. 利用下列程式碼來取代 BusinessObjects.cs 的預設程式碼:

    using System;
    using System.Collections.Generic;
    
    // Define the Business Object "Product" with two public properties
    //    of simple datatypes.
    public class Product {
        private string m_name;
        private int m_price;
    
        public Product(string name, int price) {
            m_name = name;
            m_price = price;
        }
    
        public string Name {
            get {
                return m_name;
            }
        }
    
        public int Price {
            get {
                return m_price;
            }
        }
    }
    
    // Define Business Object "Merchant" that provides a 
    //    GetProducts method that returns a collection of 
    //    Product objects.
    
    public class Merchant {
        private List<Product> m_products;
    
        public Merchant() {
            m_products = new List<Product>();
            m_products.Add(new Product("Pen", 25));
            m_products.Add(new Product("Pencil", 30));
            m_products.Add(new Product("Notebook", 15));
        }
    
        public List<Product> GetProducts() {
            return m_products;
        }
    }
    
  5. 請從 [建置] 功能表上,選取 [建置方案]。這會建立物件的組件,在您將報表加入專案之後,可讓商務物件 [產品] 出現在 [網站資料來源] 視窗中。

將報表加入專案中

  1. 請務必在 [方案總管] 中選取專案網站或專案項目。

  2. 以滑鼠右鍵按一下專案網站,選取 [加入新項目]。

  3. 在 [加入新項目] 對話方塊中,選取 [報表]。請輸入報表的名稱,再按一下 [新增]。此時會將報表加入專案中,並在 [報表設計工具] 中自動開啟它。此報表的預設名稱為 Report.rdlc

檢查 [網站資料來源] 視窗

  1. 按一下 Report.rdlc 的 [設計] 索引標籤。在左窗格中,按一下 [網站資料來源] 索引標籤。如果看不到 [網站資料來源] 索引標籤,請從 [資料] 功能表選取 [顯示資料來源]。

  2. 確認 Product 物件和它的兩個公用屬性 NamePrice 會出現在 [網站資料來源] 視窗的階層中。

設計報表

  1. 在設計模式中開啟報表後,請開啟 [工具箱]。從 [工具箱] 將 [資料表] 控制項拖曳到報表內。此資料表控制項會在索引標籤式 [設計] 視窗中開啟。

  2. 從 [網站資料來源] 視窗,將 Name 欄位從 Product 資料來源拖曳到資料表中 Detail 資料列的第一個資料行。Detail 資料列是中間的資料列。請注意,當您指定 Detail 資料列時,Header 資料列會自動為您填入。

  3. 將 Price 欄位拖曳到第二個資料行的 detail 資料列上,好讓它在 Name 欄位旁邊。

  4. (選擇性) 選取資料表的標頭資料列,其方式是按一下左邊資料表標頭圖示,並套用 [粗體] 字型樣式。

  5. 刪除未使用的資料行。按一下第三個資料行,然後按一下標頭列,再按 Delete 鍵。

  6. 若要在報表中加入標題,請開啟 [工具箱],並將 [文字方塊] 拖曳到報表上。將 [文字方塊] 放在資料表上方。輸入產品做為報表名稱。

  7. (選擇性) 將字型大小和字型樣式套用到文字上,以凸顯標題。

將 ReportViewer 控制項加入網頁中

  1. 在設計檢視中選取預設網頁 (其方式是以滑鼠右鍵按一下 [方案總管] 中的 Default.aspx),然後選擇 [檢視表設計工具]。

  2. 開啟 [工具箱]。在 [工具箱] 中展開 [資料] 節點,並將 ReportViewer 圖示拖曳到網頁上。

  3. 選取 ReportViewer 控制項,再按一下右上角的三角形來開啟智慧標籤面板。按一下 [選擇報表] 下拉式清單,再選取您剛設計的報表。根據預設,此名稱為 c:\inetpub\wwwroot\WebSite\Report.rdlc。請注意,ObjectDataSource 控制項會緊接在 ReportViewer 控制項的下方出現,而且會自動設定為可擷取 DataTable 的內容 (透過資料表的 TableAdapter 元件而設定)。

執行應用程式

  • 按 F5 鍵在偵錯模式下執行,或是按 CTRL + F5 在非偵錯模式下執行,並檢視報表。

另請參閱

參考

Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing

概念

使用 [ReportViewer 工作] 智慧標籤面板

其他資源

範例和逐步解說