FastReport使用交流,FastReport中国社区FastReport联系电话 联系电话:023-66090381

如何在Fast Report VCL 6中以预览模式编辑报告

来源:   发布时间:2018-06-14   浏览:226次

FR VCL 6中的一些对象可以在报告查看器中编辑,即以.fp3格式编辑。更改对象后,可以将修改后的报告以预览格式保存或将其导出为任何其他格式。什么时候这可能有用?例如,您没有报告模板,但只有fp3报告的预览文件。您可以更改报告的标题,或在图表中选择所需的系列,然后发送报告进行打印。这种使用的特定情况可能是填写问卷。

哪些对象可以编辑?当然,大多数情况下我们必须编辑文本,所以“Text”对象是列表中的第一个。

如上所述,“Chart”对象。如果对象有多个系列,您可以选择此刻显示的系列。

“CheckBox”对象。如果您的报告是调查问卷,您可以用“打勾”标记必要的项目,填写文本字段并通过电子邮件发送文件。

对象“Gauge”和“Interval Gauge”允许您设置可在报告中使用的值。

编辑对象文本

有两种方式可以在预览模式下编辑文本对象:

1)按住Alt键并点击Text对象。对象内的文本将被高亮显示。通过单击对象外部的区域来更改文本。这些更改已应用;

PreviewEdit1

在使用此方法时,请记住,只要从该文本对象中移除鼠标指针,编辑就会完成。

2)报告查看器工具栏上出现一个新图标PreviewEdit2——编辑文本。点击它,页面上所有可以编辑的文本对象都会以蓝色突出显示:

PreviewEdit3

点击所需的对象将改变文字。要完成编辑,请将鼠标从编辑的对象上移开。

PreviewEdit4

可以禁止编辑文本。为此,我们在“Restrictions”属性中的“Text”对象上设置了“DontEditInPreview”标志。当启用文本编辑模式PreviewEdit2时,您可以看到哪些文本对象是可编辑的。

编辑图表对象

该图可以旋转,切换序列,在2D/3D模式下切换,将变换返回到初始视图。

在我看来,最有趣的事情是切换系列的功能。你只需要用鼠标指针将鼠标悬停在它上面。这将显示系列选择栏:

PreviewEdit5

在这个例子中,我们看到有5个系列可用。默认情况下,显示所有系列。但是,这并不总是很方便的。因此,要将交换机设置为单选按钮模式,必须在报告创建阶段禁用所有交换机,只留下一个处于活动状态的交换机:

PreviewEdit6

这可以通过鼠标在从顶部到右侧的系列选择的同一窗口中完成。

注意图标PreviewEdit8。在预览模式下,如果您没有旋转图表,点击它,您可以将图表切换到二维模式:

PreviewEdit9

图形的旋转通过鼠标左键进行:

PreviewEdit10

这就是我设法反映图表的方式:

PreviewEdit11

如果现在点击图标PreviewEdit8,图表将返回到其原始状态(尽管处于2D模式)。再次按可显示您的转换。

编辑物体标尺和间隔标尺

这些是Fast Report VCL中的两个新对象。它们具有模拟模拟电子设备的指标。名称之间的差异很明显:Gauge显示单个值,Interval Gauge - 间隔的值,即间隔。

对于这两个对象都有三种类型:水平、垂直和圆形。以下是它的外观:

PreviewEdit12

正如你所看到的,秤上的指针可以有不同的形状、大小和颜色。量表本身也有很多设置。

但回到文章的主题。Gauge对象也可以在预览模式下进行编辑。没有报告中使用新对象值的能力,移动指标本身就不会很有趣。您可以使用报告脚本执行此操作。例如,我们希望在文本字段中显示指标的当前值。对于该指标,添加OnContentChanged事件:

PreviewEdit13
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属性的值——指标的当前值。更新预览。

以预览模式运行报告。移动滑块,我们会在下面的文本字段中获取指标的当前值。

PreviewEdit14

因此,获得的值可以用于计算、过滤和数据查询。这使报告变得不仅仅是一个交互式文档。

我们总结一下。以预览模式编辑报告的功能使我们能够创建报告,您可以在不重建的情况下自定义报告。在预览中编辑很简单,因此可供广泛的用户访问。他们不需要与报告设计师合作的经验。


产品介绍 | 下载试用 | 优惠活动 | 在线客服 | 联系Elyn


6月年中大促
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [http://www.fastreportcn.com/]
本文地址:http://www.fastreportcn.com/post/2067.html

联系我们
  • 重庆总部 023-66090381 400-700-1020
  • 北京公司 010-56705895
购买
  • sales@evget.com
合作
  • business@evget.com