演练:在本地处理模式下将业务对象数据源与 ReportViewer Web 服务器控件一起使用

本演练演示如何在 Microsoft Visual Studio ASP.NET 应用程序中的报表中使用对象数据源。有关业务对象和对象数据源的更多信息,请参见Binding to Business Objects

请执行下列步骤向 ASP.NET 网站项目添加报表。对于此示例,您将使用 Microsoft Visual C# 创建应用程序。

创建新的 ASP.NET 网站项目

  1. 在**“文件”菜单中,指向“新建”,选择“网站”**。

  2. 在**“新建网站”对话框的“已安装的模板”窗格中,选择“C#”,然后选择“ASP.NET 网站”。根据 Visual Studio 中的启动设置,“C#”节点可能会显示在“其他语言”**下。

  3. 在**“位置”框中,指定项目目录,然后单击“确定”**。

    此时将打开网站项目。

创建用作数据源的业务对象。

  1. 在**“网站”菜单上选择“添加新项”**。

  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. 从**“生成”菜单中选择“生成解决方案”。这将为对象创建程序集,并在您向项目中添加报表后,使业务对象“Product”显示在“报表数据”**窗口中。

使用报表向导向项目添加报表

  1. 请确保在**“解决方案资源管理器”**中选中了顶级网站。

  2. 右击网站并选择**“添加新项”**。

  3. 在**“添加新项目”对话框中,选择“报表向导”。为报表键入名称,并单击“添加”**。

  4. 这将启动报表向导。

  5. 在**“数据集属性”页的“数据源”框中选择“全局”**。

  6. 在**“可用数据集”框中,确认选中“Merchant (GetProducts)”**。

  7. 单击**“下一步”**。

  8. 在**“排列字段”**页中,执行以下操作:

    1. 将**“名称”“可用字段”拖到“行组”**框。

    2. 将**“价格”“可用字段”拖到“值”**框。

  9. 单击两次**“下一步”,然后单击“完成”**。

    这将创建 .rdlc 文件并在报表设计器中将其打开。所创建的 tablix 会立即显示在设计图面中。

  10. 保存 .rdlc 文件。

向网页中添加 ReportViewer 控件

  1. 在**“解决方案资源管理器”中,右击 Web 窗体 Default.aspx,然后选择“视图设计器”**。

  2. 打开**“工具箱”窗口。从“AJAX Extensions”组中,将“ScriptManager”**控件拖动到设计图面上。

  3. 从**“工具箱”“报告”组中,将“ReportViewer”控件拖动到“ScriptManager”**控件下的网页上。

  4. 选择 ReportViewer 控件,通过单击右上角的智能标记标志符号打开智能标记面板。

  5. 在**“选择报表”**列表中,选择刚才设计的报表。请注意,ObjectDataSource 控件会显示在 ReportViewer 控件的紧下方,并自动设置为检索您创建的业务对象的内容。

运行此应用程序

  • 按**“F5”边运行边调试,或按“Ctrl+F5”**运行而不调试,然后查看报表。

请参阅

参考

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

概念

使用“ReportViewer 任务”智能标记面板

其他资源

示例和演练