互动报表
# 互动报表
FastReport准备的报表可以互动。这意味着,它将对预览窗口中用户的操作做出反应。您可以使用以下交互:
- 单击报表对象时,将执行某种操作。例如,您可以运行详细报表并在单独的窗口中显示。
- 预览窗口可以显示报表大纲,可用于在报表上导航。
# 1. 超链接
几乎所有报表对象都具有Hyperlink
属性。使用此属性,您可以在预览窗口中定义对象对鼠标单击的反应。
单击此类对象时,可能会出现以下情况之一:
- 导航到URL地址;
- 发送电子邮件;
- 执行任何类型的系统命令;
- 导航到带有指定编号的报表页面;
- 导航到锚点,添加到脚本中;
- 在单独的预览窗口中运行详细报表;
- 自定义操作,在脚本中定义。
# 2. 超链接配置
要配置超链接,请选择要进行交互的对象,然后右键单击它。在上下文菜单中,选择超链接...
项。超链接编辑器窗口将打开:

通过选择窗口左侧的单选按钮来选择超链接的类型。完成后,您可以单击窗口底部的修改对象的外观...
复选框。对象的外观将以下列方式更改:
- 将为文本设置蓝色,并将加下划线;
- 将设置手形光标表单。
在某些情况下,需要在预览窗口中显示超链接,但不需要打印它。如果配置Visible
对象属性,这很容易做到。这可以在对象检查器窗口中完成。
# 3. 链接至URL
使用此类链接,您可以:
- 导航至指定的互联网地址;
- 执行某种系统命令,例如
mailto:
用于发送电子邮件。
您可以使用两种方法指示链接的值:
- 直接表示该值,例如
https://www.isoface.cn
; - 表示一个表达式,它返回链接的值。将计算此表达式。

# 4. 链接至页码
通过使用此链接类型,您可以在准备好的报表的页面上组织导航。通常,使用导航到第一页。为此,请指示页码(在给定的情况下为1)作为链接值。 您可以使用两种方法指示页码:
- 直接表示数字,例如1;
- 表示一个表达式,它返回页码。运行报表时将计算此表达式。

# 5. 链接到锚点
通过使用此类链接,您可以导航到在脚本中添加的锚点。锚在准备好的报表中有一个名称和一个确定的位置(页面上的页码和位置)。当按名称移动到锚点时,您将导航到指示的位置。
要使用此链接类型,首先需要定义锚点。为此,请使用脚本和Engine.AddAnchor方法(请参阅脚本-锚主题中的更多内容)。现在,您可以在超链接配置窗口中指明其名称。这可以通过使用两种方法来完成:
- 直接指出锚的名称;
- 表示一个返回锚名称的表达式。例如,这可以是数据列。运行报表时将计算此表达式。

# 6. 链接至明细报表
使用此链接类型,您可以执行另一个报表并在单独的预览窗口中显示它。您必须为此类型的超链接设置以下参数:
- 明细报表的名称;
- 报表变量的名称,它将取超链接的值;
- 超链接值。
单击链接后,将进行以下操作:
- 指定的报表将被加载;
- 报表的变量将设置为超链接的值;
- 报表将在单独的预览窗口中构建和运行。
报表变量的值可以使用两种方法指示:
- 直接表示价值;
- 表示一个返回值的表达式。运行报表时将计算此表达式。

# 7. 链接至明细页面
此链接类型的工作方式相同,只是当前报表中的另一个页面用作详细报表。为此,您的报表必须至少包含两个页面:一个包含主报表,另一个包含详细报表。
您必须为此类型的超链接设置以下参数:
- 该报表中的页面名称;
- 报表变量的名称,它将取超链接的值;
- 超链接值。
单击链接后,将进行以下操作:
- 报表的变量将设置为超链接的值;
- 指定的报表页面将被构建并显示在单独的预览窗口中。
报表变量的值可以使用两种方法指示:
- 直接表示值;
- 表示一个返回值的表达式。运行报表时将计算此表达式。
选择报表页面时,其Visible
属性将重置为False
。这意味着,当构建主报表时,将跳过此页面。

# 8. 自定义链接
使用这种类型的链接,您可以定义自己对单击鼠标的反应。为此,请使用对象的OnClick
事件处理程序。