本指南提供了一个示例,此示例说明在 Visual Studio 设计时刻如何通过 时间间隔 对报表分组。 尽管此示例展示的是如何通过 星期名称 对数据分组,但是通过 月份 进行分组的构想同样可行。 简言之,这需要创建一个 计算字段,在 内置日期时间函数 的协助之下,计算字段返回从零开始索引的星期日数。 然后,把带区的标准设置为此计算字段。 最后,所要求的数据字段被呈现在 GroupHeader(分组标头) 带区中,并且所要求的格式设置被应用。 要查看总说明,请参阅 对数据分组。
要按照星期名称对数据分组,则执行下列操作。
-
启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 Windows 窗体应用程序。
-
添加新空白报表 到项目中,并 绑定报表 到 Northwind 示例数据库 (与 XtraReports 安装一起提供的 nwind.mdb 文件) 的 "Orders" 表。
-
把所需要的数据字段拖放到细节带区。
-
为了创建一个计算字段,在 Field List(字段列表) 中使用鼠标右键单击任意数据字段,并在被调用的菜单中,选择 Add Calculated Field(添加计算字段) 菜单项。
-
现在,我们使它从 [OrderDate] 数据字段返回以零开始索引的星期日数。 要完成此任务,则选中计算字段,并且在 属性 窗口中单击 CalculatedField.Expression 属性的省略号按钮,来调用 Expression Editor(表达式编辑器)。
在表达式编辑器对话框中,选择所要求的日期时间函数,并在 [中括号] 内定义字段名称。 对于本示例,我们使用 GetDayOfWeek([OrderDate]) 函数。
单击 确定 按钮应用更改并退出对话框。
-
为了快速创建一个与计算字段相关联的 GroupHeader 带区,使用 Group and Sort 面板。 如果该面板没有显示,那么可以通过勾选相应的 XtraReports 菜单项 来使之可视。
然后,单击 Add a Group(添加组) 工具栏项,在被调用的下拉菜单中,选中计算字段。
另外,使用此面板,还可以定义分组内的排序顺序 (升序或降序),并选择相应的 GroupFooter 带区是否可视。
-
最后,把 OrderDate 字段从“Field List(字段列表)”中拖放到 GroupHeader 带区,并且把此操作创建的标签的 XRBinding.FormatString 属性设置为 {0:dddd}。
现在报表已经就绪。 切换到 Preview 标签页 并查看结果。
关于此任务的另一种可选的完成方法,请参阅 如何: 通过星期名称对数据分组 (运行时刻示例)。
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1290。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |