如何在Fast Report VCL 6中以预览模式编辑报告
FR VCL 6中的一些对象可以在报告查看器中编辑,即以.fp3格式编辑。更改对象后,可以将修改后的报告以预览格式保存或将其导出为任何其他格式。什么时候这可能有用?例如,您没有报告模板,但只有fp3报告的预览文件。您可以更改报告的标题,或在图表中选择所需的系列,然后发送报告进行打印。这种使用的特定情况可能是填写问卷。
哪些对象可以编辑?当然,大多数情况下我们必须编辑文本,所以“Text”对象是列表中的第一个。
如上所述,“Chart”对象。如果对象有多个系列,您可以选择此刻显示的系列。
“CheckBox”对象。如果您的报告是调查问卷,您可以用“打勾”标记必要的项目,填写文本字段并通过电子邮件发送文件。
对象“Gauge”和“Interval Gauge”允许您设置可在报告中使用的值。
编辑对象文本
有两种方式可以在预览模式下编辑文本对象:
1)按住Alt键并点击Text对象。对象内的文本将被高亮显示。通过单击对象外部的区域来更改文本。这些更改已应用;
在使用此方法时,请记住,只要从该文本对象中移除鼠标指针,编辑就会完成。
2)报告查看器工具栏上出现一个新图标——编辑文本。点击它,页面上所有可以编辑的文本对象都会以蓝色突出显示:
点击所需的对象将改变文字。要完成编辑,请将鼠标从编辑的对象上移开。
可以禁止编辑文本。为此,我们在“Restrictions”属性中的“Text”对象上设置了“DontEditInPreview”标志。当启用文本编辑模式时,您可以看到哪些文本对象是可编辑的。
编辑图表对象
该图可以旋转,切换序列,在2D/3D模式下切换,将变换返回到初始视图。
在我看来,最有趣的事情是切换系列的功能。你只需要用鼠标指针将鼠标悬停在它上面。这将显示系列选择栏:
在这个例子中,我们看到有5个系列可用。默认情况下,显示所有系列。但是,这并不总是很方便的。因此,要将交换机设置为单选按钮模式,必须在报告创建阶段禁用所有交换机,只留下一个处于活动状态的交换机:
这可以通过鼠标在从顶部到右侧的系列选择的同一窗口中完成。
注意图标。在预览模式下,如果您没有旋转图表,点击它,您可以将图表切换到二维模式:
图形的旋转通过鼠标左键进行:
这就是我设法反映图表的方式:
如果现在点击图标,图表将返回到其原始状态(尽管处于2D模式)。再次按可显示您的转换。
编辑物体标尺和间隔标尺
这些是Fast Report VCL中的两个新对象。它们具有模拟模拟电子设备的指标。名称之间的差异很明显:Gauge显示单个值,Interval Gauge - 间隔的值,即间隔。
对于这两个对象都有三种类型:水平、垂直和圆形。以下是它的外观:
正如你所看到的,秤上的指针可以有不同的形状、大小和颜色。量表本身也有很多设置。
但回到文章的主题。Gauge对象也可以在预览模式下进行编辑。没有报告中使用新对象值的能力,移动指标本身就不会很有趣。您可以使用报告脚本执行此操作。例如,我们希望在文本字段中显示指标的当前值。对于该指标,添加OnContentChanged事件:
procedure Gauge1OnContentChanged(Sender: TfrxComponent; ModifyObjects: TList; var Refresh: Boolean); var List: TList; View: TfrxMemoView; i: Integer; begin View := nil; List := PreviewPages.Page[PreviewPages.CurPage].AllObjects; for i := 0 to List.Count - 1 do if (List[i] is TfrxView) then begin if (TfrxView(List[i]).TagStr = 'Gauge1') then View := TfrxMemoView(List[i]); if (View <> nil) then Break; end; if View <> nil then begin TfrxMemoView(View).Text := FloatToStr(Round(TfrxGaugeView(Sender).Gauge.CurrentValue)); ModifyObjects.Add(View); end; // refresh preview Refresh := True; end;
在这个脚本中,我们在所有的报表对象中搜索需要的报表对象,其中包含TagStr值Gauge1的值。然后,在找到的对象中,我们设置Text属性的值——指标的当前值。更新预览。
以预览模式运行报告。移动滑块,我们会在下面的文本字段中获取指标的当前值。
因此,获得的值可以用于计算、过滤和数据查询。这使报告变得不仅仅是一个交互式文档。
我们总结一下。以预览模式编辑报告的功能使我们能够创建报告,您可以在不重建的情况下自定义报告。在预览中编辑很简单,因此可供广泛的用户访问。他们不需要与报告设计师合作的经验。