示例 2.创建详细报告
在本例中,我们将创建一个显示类别列表的报告。点击类别名称后,将显示详细报告,其中包含给定类别中的产品列表。
您需要执行以下操作:
- 首先创建详细报告;
- 定义识别类别的报告参数;
- 根据该参数设置数据过滤;
- 创建主报告;
- 在主报告中配置超链接,以便在运行详细报告时将参数设置为所选类别。
首先,我们将创建一个打印产品列表的详细报告。为此,创建一个新报告并选择 "Products "表作为数据源。按以下放置对象:
创建一个参数,用于将所选类别从主报告传递到详细报告。为了识别类别,我们将使用 "CategoryID "表和 "Products"表中都包含的 "CategoryID "列。按以下方式配置参数:
现在,我们需要设置数据过滤,以过滤属于指定类别的所有产品。为此,请双击 "Data"带。切换到 "Filter "选项卡,并输入以下条件:
现在创建主报告。创建新报告并选择 "Categories"表作为数据源。按以下方式放置对象:
右击 "Text "对象,选择 "Hyperlink..."菜单项。按以下方式设置链接:
选择详细报告文件的名称作为报告名称。按列表右侧的按钮,可从下拉列表中选择报告参数。作为参数值,请使用"[Categories.CategoryID]"表达式。
运行报告后,您将看到类别列表:
如果点击其中一个类别,就会生成一份详细报告。它将显示在预览窗口的一个单独选项卡上:
如图所示,标签页的标题被设置为超链接的值。在我们的例子中,这是 "CategoryID "数据列中的数值。这看起来既不翔实,也不美观。让我们更改报告,使用类别名称而不是其编号。为此,请执行以下操作:
在详细报告中
- 将参数的 "DataType(数据类型)"属性更改为 "String(字符串)";
- 在报告中添加 "Categories"数据源。它将用于在筛选数据时引用 "CategoryName "列;
- 更改 "Data "带的过滤表达式:
在主要报告中[Products.Categories.CategoryName] == [SelectedCategory]
- 更改超链接设置。现在,我们将把"[Categories.CategoryName]"值传入报告参数。
在使用这个示例时,我们创建了两份报告,并在它们之间交换了好几次。这样做很不方便。为了简化操作,可以将两份报告合二为一:主要报告放在第一页,详细报告放在第二页。在这种情况下,需要按以下方式设置超链接:
在本例中,我们需要选择 Page2 作为详细报告页面。