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

此演练演示如何在 Microsoft Visual Studio 2008 Windows 应用程序中的报表中通过业务对象使用对象数据源。有关业务对象和对象数据源的更多信息,请参见绑定到业务对象

执行下列步骤可将报表添加到 Visual Studio Windows 应用程序项目中。在此示例中,您将使用 Microsoft Visual C# 创建应用程序。

创建一个新的 Windows 应用程序项目

  1. 在**“文件”菜单上,指向“新建”,然后选择“项目”**。

  2. 在**“新建项目”**对话框中的“Visual C#”下,选择 Windows 应用程序模板。

  3. 键入项目的名称 BusinessObject,并单击**“确定”**。

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

  1. 从**“项目”菜单中选择“添加新项”**。

  2. 在**“添加新项”对话框中,选择“类”,键入文件名 BusinessObjects.cs,并单击“添加”**。新文件将添加到项目并且在 Visual Studio 中自动打开。

  3. 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;
        }
    }
    
  4. 从**“项目”菜单中,选择“生成解决方案”**。这将为对象创建一个程序集,您稍后会将此程序集用作报表的数据源。

向项目添加报表

  1. 请确保在**“解决方案资源管理器”**中选中了项目或某个项目项。

  2. 从**“项目”菜单中选择“添加新项”**。

  3. 在**“添加新项”对话框中,选择“报表”。为报表键入名称,并单击“添加”。报表将添加到项目并自动在报表设计器中打开。默认情况下,报表名称为“Report1.rdlc”**。

使用数据源配置向导创建数据源

  1. 请确保在**“解决方案资源管理器”**中选中了项目或某个项目项。

  2. 从**“数据”菜单中,选择“添加新数据源”**。这将启动数据源配置向导。

  3. 在“选择数据源类型”页上,选择**“对象”,并单击“下一步”**。

  4. 数据源配置向导将显示项目中现有类的列表。在 BusinessObjects 下展开类的层次结构,直到在列表中看到 Product。选择 Product,单击**“下一步”,然后单击“完成”**。

    向导关闭后,新数据源对象将出现在**“数据源”**窗口中。

设计报表

  1. 在设计模式下打开报表后,请打开**“工具箱”。从“工具箱”中将“表”**控件拖到报表上。表控件将显示在报表的设计视图窗口内。请注意,虚点背景表示表体和表控件的维度可调整或重新定位。

  2. 从**“数据源”窗口中,将“名称”字段从“产品”数据源拖动到表的“详细信息”行的第一列上。“详细信息”行是中间的一行。请注意,指定“详细信息”行时,系统将自动为您填充“标题”**行。

    Note注意

    如果看不到“数据源”窗口,请从“数据”菜单中选择“显示数据源”

  3. 将**“价格”字段拖动到第二列的“详细信息”行上,以使它与“名称”字段相邻。或者,通过单击左侧的表格表头图标选择表的标题行并应用“加粗”**字形。

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

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

  6. (可选)对文本应用字号和字形,以突出显示标题。

向报表添加 ReportViewer 控件

  1. 从“设计”视图中选择自动生成的 Windows 应用程序。默认情况下,窗体名称为**“Form1.cs”**。

  2. 打开**“工具箱”。在“工具箱”中,展开“数据”节点,然后将“ReportViewer”**图标拖动到窗体上。展开该窗体,并按需要重新定位 ReportViewer。

  3. 选择 ReportViewer 控件,单击右上角的三角形打开智能标记面板。单击**“选择报表”下拉列表,并选择刚才设计的报表。默认情况下,名称为“Report1.rdlc”**。请注意,将为相应的报表中使用的每个对象数据源自动创建 BindingSource

为 BindingSource 对象提供数据源实例

  1. 右击 Visual Studio 窗体,并从快捷菜单选择**“查看代码”**。

  2. 在**“Form1.cs”**中,将以下代码添加到类的顶部。可以在 public partial class Form1 : Form { 语句后构造函数之前使用第一行。

    // Instantiate the Merchant class.
    private Merchant m_merchant = new Merchant();
    
  3. Form1_Load() 方法中,在 RefreshReport 调用前添加下列代码作为第一行:

    // Bind the Product collection to the DataSource.
    this.ProductBindingSource.DataSource = m_merchant.GetProducts();
    

运行此应用程序

  • 按**“F5”**运行应用程序并查看报表。

另请参见

参考

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

概念

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

其他资源

示例和演练