向数据报表添加一个 Function 控件

数据报表设计器以它自己的一组控件为特色。在这些控件中,Function 控件在Visual Basic 内部的控件中没有相对应的控件,需要更详细的解释。

Function 控件使用一个内置的函数,在报表生成时显示运行时计算的数据。下面的插图显示了一个典型的示例,其中 Function 控件被用于显示子合计的合计值,为一个特定的订单创建一个合计值。

如果已经使用 SQL 语句创建了一个计算字段(参见前面的主题,“向数据报表添加计算字段”),可能想知道为什么一个 Function 控件不能用于计算 Quantity * UnitPrice 的值。简言之,Function 控件仅在一个分组内的所有其他记录都被处理后,才可以计算值。相反,SQL 语句则可以在记录被处理时在记录中作为字段的一部分计算值。

向数据报表设计器添加一个 Function 控件的步骤是:

  1. 在数据报表设计器的一个适当的注脚部分绘制一个 Function 控件。

  2. 设置 DataMember 和 DataField 属性为适当的值(来自相关数据环境 Command 对象的一个数值字段)。

带有显示合计值的 Function 控件的数据报表

注意 该主题是帮助您创建一个示例数据报表的一系列步骤中的一部分。创建一个简单数据报表是此系列中的第一个主题。

要向数据报表添加一个 Function 控件,请按照下列步骤执行:

  1. 使用鼠标指针,单击名为“Customers_Footer”的分组注脚,并把它拖向窗口的底部,在它与“Orders_Footer”注脚之间创建一个空间。

  2. 在“工具箱”上,单击 rptFunction 控件。

  3. 在两个注脚之间的空间绘制 rptFunction 控件。

  4. 根据下面的表设置 rptFunction 控件的属性:
    属性 设置值
    DataMember OrderDetails
    DataField Total
    Name fncTotal
    Alignment 1 – rptJustifyRight
    DataFormat Currency

    控件的FunctionType属性决定将对“数据字段”中的数据进行什么操作。缺省情况下,这一属性设置为0-RptFuncSum,以合计数据的值。其它函数包括:Average、Minimum、Maximum、Row Count、STDDev (标准偏差)和 Value Count。

  5. 在“Quantity”文本框上面绘制一个Line控件,在文本框左边绘制一个 Label 控件。设置标签的 Caption 属性为 Total

  6. 单击fncTotal控件选中它。在属性窗口中,双击“字体”显示“字体”对话框。更改“字体样式”为 Bold

  7. 对 Label 控件重复步骤6。

  8. 在设计器上确定控件的位置,类似下面的插图:

  9. 保存并运行工程。

增加函数范围

可以通过在较低的分组注脚中放置控件,增加函数的范围。例如,您可能希望搞清楚每个客户的订单的总数。

要显示所有订单的总数,请按照下列步骤执行:

  1. 在“Customers_Footer”部分中绘制一个新的 Function 控件。将新控件与上面创建的 Function 控件对齐。

  2. 在新 Function 控件的左边绘制一个 Label 控件。

  3. 如下表所示设置控件的属性:
    控件 属性 设置值
    rptFunction Name FncGrandTotal
    rptFunction DataMember OrderDetails
    rptFunction DataField Total
    rptFunction Font (Font Style) Bold
    rptFunction Alignment 1 – rptJustifyRight
    rptLabel Caption Grand Total
    rptLabel Font (Font Style) Bold
    rptLabel Alignment 1 – rptJustifyRight

  4. 数据报表设计器现在应该类似于下面的插图:

  5. 保存并运行工程。

可选的——添加一个报表总计

进一步增加 Function 控件的范围是可能的。如果希望在报表中看到所有订单的总计,可以向报表注脚部分添加一个 Function 控件。

要向数据报表添加一个报表总计,请按照下列步骤执行:

  1. 右键单击数据报表设计器并单击“显示报表标头/页脚”。

  2. 向报表注脚添加一个 Function 控件。

  3. 如下表所示设置控件的属性:
    属性 设置值
    Name FncReportTotal
    DataMember OrderDetails
    DataField Total
    DataFormat Currency
    Alignment 1 – rptJustifyRight

    注意 整个报表的号码将是非常的大。因此 Function 控件的宽度必须相应的调整。

  4. 保存并运行工程。

步骤

该主题是帮助您创建一个示例数据报表的一系列步骤中的一部分。

请参阅
进行下一步 数据报表中的分组信息
从头开始 创建一个简单数据报表