C1Report字段对象有一个RunningSum 属性,从而使其很容易的对分组或者整个报表中的数据进行动态求和。
在分组中增加动态求和
在分组中进行动态求和,需要完成以下步骤:
- 打开C1ReportDesigner应用程序。更多如何使用C1ReportDesigner的信息,可以参阅葡萄城系列文档中的Accessing C1ReportDesigner from Visual Studio章节。
- 创建一个新报表或者打开一个已存在的报表。通过C1ReportDesigner打开之后,你就可以对报表属性进行修改。
- 单击Design按钮,开始编辑报表。
- 在设计模式下,从属性窗口上方的下拉列表中选择报表。报表中的有效属性将显示在这里。
- 在报表中增加一个calculate字段:
- 在Designer的工具栏中,单击Add Calculated Field按钮。
- 在VBScript编辑器中,输入以下脚本:Sum(ProductSalesCtl)
- 将鼠标拖过报表分组的页眉区域,然后光标会变成十字线样式。单击并拖动鼠标来重新定义该字段所占区域,然后释放鼠标按键完成新字段的创建。
- 将RunningSum属性设置为SumOverGroup(注意,如果想要显示该属性,属性过滤必须关闭。属性过滤设置按钮是属性窗口上的漏斗图标)
在整个报表中增加动态求和
如果想要实现跨页面动态求和,你需要使用脚本来完成这一功能。
例如,你可以增加一个pageSum字段到报表中,使用脚本对其进行更新。完成以下步骤来实现该功能:
- 打开C1ReportDesigner应用程序。更多如何使用C1ReportDesigner的细节,可以参阅葡萄城系列文档中的Accessing C1ReportDesigner from Visual Studio章节。
- 创建一个新报表或打开一个已存在的报表。通过C1ReportDesigner打开之后,你可以对报表属性进行修改。
- 单击Design按钮,开始编辑报表。
- 在设计模式下,从属性窗口上方的下拉列表中选中相应报表。这里将显示报表中的可用属性。
- 找到OnPage属性,单击旁边的空白字段,然后点击省略号按钮。
- 在VBScript编辑框中,输入下面的VB表达式脚本代码:
' VBScript: Report.OnPage
pageSum = 0
- 在属性窗口上方的下拉列表中选中Detail选项,此处将显示Detail区域的可用属性。
- 找到OnPrint属性,单击旁边的空白字段。然后单击省略号按钮。
- 在弹出VBScript编辑器中输入以下VBScript表达式脚本代码:
' VBScript: Detail.OnPrint
pageSum = pageSum + UnitsInStock
|
注意:完整的报表可参阅在报表模板文件下CommonTasks.xml文件的"17: Running Sums"章节,该文件保存在ComponentOne示例文件目录下。
|