演练:在本地处理模式下将业务对象数据源与 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。默认的 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. 从**“网站数据源”窗口中,将“名称”字段从“产品”数据源拖动到表中“详细信息”行的第一列上。“详细信息”行是中间的一行。请注意,指定“详细信息”行时,系统将自动为您填充“标题”**行。

  3. 将“价格”字段拖动到第二列的详细信息行上,以使它与“名称”字段相邻。

  4. (可选)通过单击左侧的表格表头图标选择表的标题行,然后应用**“加粗”**字形。

  5. 删除不用的列。单击第三列,然后在标题栏上单击鼠标,并按下**“Delete”**键。

  6. 若要为报表添加标题,请打开**“工具箱”,并将“文本框”拖到报表上。将该“文本框”**放在表的上方。键入报表名称 Products

  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 任务”智能标记面板

其他资源

示例和演练