HWH....

导航

 

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

这个部分的知识上一篇文章大部分已经写了   主要是矩阵的用法,没有别的,所以这个

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

定义数据源连接和 DataTable

设计报表————————

  1.  
    1. “项目”菜单上选择“添加新项”
    2. “添加新项”对话框中,单击“报表”
    3. 为报表文件输入一个名称。默认情况下,报表名称为“Report1.rdlc”。单击“添加”。随即会打开报表设计器,其中将显示表示报表页的虚线图面。
    4. 打开“工具箱”。单击文本框,然后单击窗体。
    5. 在文本框中输入报表标题:“每个部门每次换班的雇员数”
    6. 从“工具箱”中将“矩阵”报表项拖动到文本框下的报表上。
    7. 在“数据源”窗口中,展开“DataTable1”,以查看“Dept”、“Shift”和“EmployeeID”列。将“Dept”字段拖动到矩阵第一列第二行的“行”文本框上。
    8. 将“Shift”字段拖动到矩阵第二列第一行的“列”文本框上。让该文本框处于选中状态,并将“TextAlign”属性设置为“右”。单击“报表格式”工具栏上的“B”图标,以使用粗体。
    9. 单击矩阵中的任意位置,以选择矩阵数据区域。然后单击右键,并按名称选择矩阵(默认值为 matrix1)。矩阵报表项周围将显示一个轮廓。右击该轮廓,然后选择“属性”。检查所打开的对话框的标题是否为“矩阵属性”
    10. 单击“组”选项卡。在“列”部分中,单击“编辑”
    11. “排序与分组”对话框中,单击“排序”选项卡。
    12. 单击“表达式”下的第一个框以激活该文本框,然后单击向下箭头并选择“=Fields!Dept.Value”。这样可以确保按照部门名称对报表数据进行排序。
    13. “数据源”窗口中,将“EmployeeID”字段拖动到矩阵第二列第二行的“数据”文本框上。右击此文本框,然后选择“属性”
    14. “常规”选项卡上的“属性”窗口中,单击表达式按钮 (fx),以调用表达式编辑器。
    15. 编辑默认的 Sum 聚合函数并将它更改为 Count。通过右击该文本框并选择“属性”,可以调用表达式编辑器。该表达式应显示为:

向应用程序添加 ReportViewer 控件

编译和运行应用程序


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

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

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

  1.  
    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.  
    1. 请确保在“解决方案资源管理器”中选中了项目或某个项目项。
    2. “数据”菜单中,选择“添加新数据源”。这将启动数据源配置向导。
    3. 在“选择数据源类型”页上,选择“对象”,并单击“下一步”
    4. 数据源配置向导将显示项目中现有类的列表。在 BusinessObjects 下展开类的层次结构,直到在列表中看到 Product。选择 Product,单击“下一步” 然后单击“完成”
    5. 向导关闭后,新数据源对象将出现在“数据源”窗口中。

设计报表

  1.  
    1. 在设计模式下打开报表后,请打开“工具箱”。从“工具箱”中将“表”控件拖到报表上。表控件将显示在报表的设计视图窗口内。请注意,虚点背景表示表体和表控件的维度可调整或重新定位。
    2. “数据源”窗口中,将“名称”字段从“产品”数据源拖动到表的“详细信息”行的第一列上。“详细信息”行是中间的一行。请注意,指定“详细信息”行时,系统将自动为您填充“标题”行。
    3. “价格”字段拖动到第二列的“详细信息”行上,以使它与“名称”字段相邻。或者,通过单击左侧的表格表头图标选择表的标题行并应用“加粗”字形。
    4. 删除未使用的第三列。单击第三列,然后在标题栏上单击鼠标,并按下“Delete”键。
    5. 若要为报表添加标题,请打开“工具箱”,并将“文本框”控件拖到报表上。将该“文本框”放在表的上方。键入报表名称 Products
    6. (可选)对文本应用字号和字形,以突出显示标题。

向报表添加 ReportViewer 控件

  1.  
    1. 从“设计”视图中选择自动生成的 Windows 应用程序。默认情况下,窗体名称为“Form1.cs”
    2. 打开“工具箱”。在“工具箱”中,展开“数据”节点,然后将“ReportViewer”图标拖动到窗体上。展开该窗体,并按需要重新定位 ReportViewer。
    3. 选择 ReportViewer 控件,单击右上角的三角形打开智能标记面板。单击“选择报表”下拉列表,并选择刚才设计的报表。默认情况下,名称为“Report1.rdlc”。请注意,将为相应的报表中使用的每个对象数据源自动创建 BindingSource

为 BindingSource 对象提供数据源实例

  给Form1加一个成员

 

// Instantiate the Merchant class.
private Merchant m_merchant = new Merchant();

  在Form_Load()方法中加入代码:

 

 

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

  说明:这个ProductBindingSource是在添加数据对象时就注定要创建到报表所在的窗体中的。

posted on 2010-11-26 16:55  HWH....  阅读(1214)  评论(0编辑  收藏  举报