为了更好地组织和显示报表中的数据,您可以按字母顺序或数字顺序按升序或降序对报表进行排序。您还可以对分组数据有效地使用排序,以提供易于理解的全面报表数据视图。
在页面报表或 RDL 报表中,可以在页报表的固定页上对数据区域中的数据进行排序以及分组,也可以直接在 SQL 查询中对数据进行排序。还可以在 TextBox 控件上为数据设置交互式排序。
您可以对报表数据应用不同级别的排序。ActiveReports 在数据区域、分组数据和固定页面的对话框中提供“排序”页,以确定要显示排序数据的位置。
对数据区域中的数据进行排序
在“表”和“列表”数据区域中,可以对数据区域内的数据进行排序。要对这些数据区域内的数据进行排序,请在特定数据区域对话框的“排序”页面中设置排序。
在 矩表、带状列表和图表数据区域中,只能对分组数据进行排序,因此在其特定对话框中没有独立的排序页面可用。
对分组数据进行排序
所有数据区域对话框的“组”页和“列表”对话框的“详细信息分组”页中都提供了“排序”选项卡。它允许您设置分组数据的排序顺序。在数据区域内设置分组后,将启用此选项卡。
在固定页面上排序
在页面报表中,还可以对按动态值分组的固定页面进行排序。对固定页上的数据进行排序类似于对数据区域中的分组数据进行排序。唯一的区别是,在固定页上对数据进行排序时,将排序应用于放置在设计图面上的所有数据区域。有关详细信息,请参阅对数据进行排序。
连接到数据源并创建数据集以提取报表数据时,将定义查询。在查询中设置 ORDER BY 关键字以按升序或降序对数据进行排序。
默认情况下,ORDER BY 关键字通常按升序对数据进行排序,但您可以在查询中包含 DESC 关键字以按降序对数据进行排序。例如,如果要从卷轴数据库的“Movie”表中获取数据,并在“Title”字段中对其进行排序,则查询如下所示:
SELECT * FROM Movie ORDER BY Title
或
SELECT * FROM Movie ORDER BY Title ASC
如果您希望“Title”字段按降序排序,则查询如下所示:
SELECT * FROM Movie ORDER
BY Title DESC
可以在 TextBox 控件上添加交互式排序,以允许用户对已发布报表上数据区域内的数据列进行排序。
交互式排序功能是通过“文本框”对话框中提供的“交互式排序”页设置的。
在 TextBox 控件上设置交互式排序后,在查看器或“预览”选项卡中查看报表时,文本框控件内部会显示一个排序图标。用户可以通过单击图标对文本框内显示的数据进行升序或降序排序。
在“文本框”对话框的“交互式排序”页上,可以找到以下可用于输入值的字段:
有关详细信息,请参阅允许用户在查看器中对数据进行排序。
在剖面报告中排序
在分区报表中,排序不显式可用。但是,您可以修改 SQL
查询以在从数据库中获取数据时对数据进行排序。
将报表连接到数据源并输入查询以提取数据时,可以在查询中包含 ORDER BY 关键字以获取排序数据。
默认情况下,ORDER BY 关键字通常按升序对数据进行排序,但您可以在查询中包含 DESC 关键字以按降序对数据进行排序。例如,如果要从 NWind 数据库的“Customers”表中获取数据,并在“CompanyName”字段中对其进行排序,则查询如下所示:
SELECT * FROM Customers ORDER BY CompanyName
或
SELECT * FROM Customers ORDER BY CompanyName ASC
如果您希望“CompanyName”字段按降序排序,则查询如下所示:
SELECT * FROM Customers
ORDER BY CompanyName DESC