彩票走势图

报表生成器FastReport .Net用户指南:互动报告示例

翻译|行业资讯|编辑:胡涛|2023-11-09 11:46:34.597|阅读 19 次

概述:在上文中我们已经向您介绍了创建互动报告,本文我们将继续为您介绍互动报告示例,欢迎查阅~

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:


FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

FastReport.NET官方版下载

在上文中我们已经向您介绍了创建互动报告,本文我们将继续为您介绍互动报告示例,

示例 1.网页链接

在本例中,我们将创建一个包含 "Text "对象的简单报告。点击预览窗口中的对象后,我们将进入 FastReport 网页。

创建新报告并添加 "Text "对象。在其中写入以下文本:

Go FastReport home page 
右键单击对象,选择右键菜单中的 "Hyperlink... "项。按以下方式配置链接:
FastReport.NET

然后,启用 "Modify the object's appearance..."复选框,以便为对象应用一些链接属性(蓝色文本颜色、下划线和手形光标)。

运行报告并点击对象。网络浏览器窗口打开,您将进入 FastReport 主页。

在本例中,我们将创建一个包含 "Text "对象的简单报告。点击预览窗口中的对象后,我们将进入 FastReport 网页。

创建新报告并添加 "Text "对象。在其中写入以下文本:

 Go FastReport home page   
右键单击对象,选择右键菜单中的 "Hyperlink... "项。按以下方式配置链接:
fastreport

然后,启用 "Modify the object's appearance..."复选框,以便为对象应用一些链接属性(蓝色文本颜色、下划线和手形光标)。

运行报告并点击对象。网络浏览器窗口打开,您将进入 FastReport 主页。

示例 2.创建详细报告

在本例中,我们将创建一个显示类别列表的报告。点击类别名称后,将显示详细报告,其中包含给定类别中的产品列表。

您需要执行以下操作:

  • 首先创建详细报告;
  • 定义识别类别的报告参数;
  • 根据该参数设置数据过滤;
  • 创建主报告;
  • 在主报告中配置超链接,以便在运行详细报告时将参数设置为所选类别。

首先,我们将创建一个打印产品列表的详细报告。为此,创建一个新报告并选择 "Products "表作为数据源。按以下放置对象:

fastreport

创建一个参数,用于将所选类别从主报告传递到详细报告。为了识别类别,我们将使用 "CategoryID "表和 "Products"表中都包含的 "CategoryID "列。按以下方式配置参数:

fastreport

现在,我们需要设置数据过滤,以过滤属于指定类别的所有产品。为此,请双击 "Data"带。切换到 "Filter "选项卡,并输入以下条件:

fastreport

现在创建主报告。创建新报告并选择 "Categories"表作为数据源。按以下方式放置对象:

fastreport

右击 "Text "对象,选择 "Hyperlink..."菜单项。按以下方式设置链接:

fastreport

选择详细报告文件的名称作为报告名称。按列表右侧的按钮,可从下拉列表中选择报告参数。作为参数值,请使用"[Categories.CategoryID]"表达式。

运行报告后,您将看到类别列表:

fastreport
如果点击其中一个类别,就会生成一份详细报告。它将显示在预览窗口的一个单独选项卡上:
fastreport

如图所示,标签页的标题被设置为超链接的值。在我们的例子中,这是 "CategoryID "数据列中的数值。这看起来既不翔实,也不美观。让我们更改报告,使用类别名称而不是其编号。为此,请执行以下操作:

在详细报告中

  • 将参数的 "DataType(数据类型)"属性更改为 "String(字符串)";
  • 在报告中添加 "Categories"数据源。它将用于在筛选数据时引用 "CategoryName "列;
  • 更改 "Data "带的过滤表达式:
[Products.Categories.CategoryName] == [SelectedCategory]
在主要报告中
  • 更改超链接设置。现在,我们将把"[Categories.CategoryName]"值传入报告参数。
如果我们现在运行报告,就会看到标签页的标题被设置为类别名称。我们可以稍微改进一下详细报告。添加 "Text "对象,它将在报告标题中打印所选类别的名称:
fastreport

在使用这个示例时,我们创建了两份报告,并在它们之间交换了好几次。这样做很不方便。为了简化操作,可以将两份报告合二为一:主要报告放在第一页,详细报告放在第二页。在这种情况下,需要按以下方式设置超链接:
fastreport

在本例中,我们需要选择 Page2 作为详细报告页面。

示例 3.交互式

在本例中,我们将看到如何通过单击 "Matrix "对象的单元格来创建详细报告。例如,我们将使用一个矩阵来显示按年份分组的员工销售额。

矩阵的数据源是 "MatrixDemo "表。该表显示了按年和月分组的员工销售额:

Name Year Month ItemsSold Revenue
Nancy Davolio 1999 2 1 1000
Nancy Davolio 1999 11 1 1100
Nancy Davolio 1999 12 1 1200
Nancy Davolio 2000 1 1 1300
Nancy Davolio 2000 2 2 1400
Nancy Davolio 2001 2 2 1500
Nancy Davolio 2001 3 2 1600
Nancy Davolio 2002 1 2 1700
Andrew Fuller 2002 1 2 1800
Andrew Fuller 1999 10 2 1900
Andrew Fuller 1999 11 2 2000
Andrew Fuller 2000 2 2 2100
Janet Leverling 1999 10 3 3000
Janet Leverling 1999 11 3 3100
Janet Leverling 2000 3 3 3200
Steven Buchanan 2001 1 3 4000
Steven Buchanan 2001 2 4 4100
Steven Buchanan 2000 1 4 3999

按以下方式配置矩阵:

  • 将 "MatrixDemo.Year "数据列放在列头;
  • 将 "MatrixDemo.Name "数据列放在行标题中;
  • 将 "MatrixDemo.Revenue "数据列放在单元格中。
准备好的矩阵如下:
fastreport

如图所示,单元格的值是员工全年销售额的总和。让我们创建一个详细报告,点击单元格后就会显示该报告。在我们的例子中,详细报告可以包含所选员工在所选年度每个月的销售额。

如何将单元格与打印数据连接起来?矩阵的每个单元格都有自己的地址。这是来自列标题和行标题的值的组合。在我们的示例中,单元格的地址是雇员年份和姓名的组合。这些数据可以准确地传递到详细报告中。如何做到这一点呢?非常简单:设置超链接,只显示报告名称和参数名称。参数值无需标明:对于矩阵单元格,FastReport 本身会形成值并将其传递到参数中。

假设我们点击了左上角包含数字 3900 的单元格。这是名为 "Andrew Fuller "的员工 1999 年的销售额总和。使用什么表格将此值传入参数?FastReport 使用分隔符合并列和行的值:

1999;Andrew Fuller
这是否意味着我们必须从这个字符串中提取年份值和员工姓名,将年份转换为 int,然后使用这些值进行数据筛选?不,这要简单得多。我们只需创建一个具有嵌套参数的参数。你可以在 "数据 "一章中了解到这一点。在本例中,父参数可以是这样的
fastreport

创建参数时,请考虑以下时刻:

  • 不需要设置父参数。只需给它命名即可;
  • 父参数的嵌套参数数量必须与矩阵传递的值数量相同。在本例中,有两个值;
  • 嵌套参数的顺序必须与矩阵传递值的顺序一致。在本例中,年份将在第一个参数中传递,雇员姓名将在第二个参数中传递;
  • 嵌套参数可以随意命名,但最好与矩阵元素名称一致;
  • 正确设置每个嵌套参数的数据类型非常重要。数据类型必须与传入参数的值一致。在我们的例子中,第一个参数(年份)必须是整数类型,第二个参数(员工姓名)必须是字符串类型。
在明确所有必要事项后,我们将创建报告。选择矩阵的单元格并调用超链接编辑器:
fastreport

在超链接配置中,将父参数指定为报告参数(在我们的示例中为 "SelectedCell"):
fastreport

FastReport 将这些值传入 SelectedCell.Year 和 SelectedCell.Name 嵌套参数。这些值将转换为参数配置中指定的数据类型,因此正确配置参数数据类型非常重要。

详细报告位于主报告的单独页面上,使用相同的数据源:

fastreport

为了显示所选员工在所选年份的销售额,请设置筛选条件。为此,请打开 "Data"带编辑器,并输入以下筛选条件:

    

[MatrixDemo.Year] == [SelectedCell.Year] && [MatrixDemo.Name] == [SelectedCell.Name]
报告已准备就绪。运行报告并点击左上角的单元格。将打开一份详细报告,其中包含以下数据:
fastreport

如图所示,数值之和(1900+2000)与我们点击的矩阵单元格相对应。

示例 4.带目录、导航和大纲的报告

在本例中,我们将创建一份具有以下功能的报告:

  • 在第一页打印 "Table of Contents"(TOC),它是交互式的,即您可以单击其中的元素导航到相应的页面;
  • 在预览窗口中显示大纲,大纲也是交互式的。
fastreport

报告将使用"Categories" "Products" 表。在 TOC 中,我们将打印类别列表。报告的其余部分将打印产品分类列表。报告模板将由两页组成:第一页用于打印 TOC;第二页是报告的主要部分。

我们将首先讨论 TOC。创建新报告并添加 "Categories"和  "Products" 数据源。将 "Data "带连接到 "Categories"表,并按以下方式放置对象:

fastreport

为了使 TOC 对象具有交互性,请配置其 "Hyperlink "属性:

fastreport

将类别名称作为书签。我们稍后将定义对象的书签。

要在 TOC 中打印页码,需要执行以下操作:

启用报告的 "double pass "设置。这可以在 "Report|Options..."菜单中完成。需要这样做是因为 TOC 页面会在其他页面之前打印。此时,FastReport 不知道类别将在何处打印;
使用 "Engine.GetBookmarkPage "函数,该函数返回指定书签的页码。在本例中,我们使用"[Categories.CategoryName]"表达式作为书签名称,因此函数调用如下:

[Engine.GetBookmarkPage([Categories.CategoryName])]< 
在报告的第二页,我们将创建一个主从报告,如下图所示:
fastreport

设置我们在 TOC 中点击元素时导航到的书签。为此,请选择第一个 "Data "带,并在其 "Bookmark "属性中注明以下表达式:

 [Categories.CategoryName] 
要设置报告大纲,请执行以下操作:
  • 选择第一个报告页面。这可以通过切换到该页面来完成;
  • 在 "Properties "窗口中,为 "OutlineExpression "属性设置以下值:
"Contents"
  • 切换到第二个报告页面;
  • 选择第一个 "数据 "带,并设置其 "OutlineExpression "属性:
[Categories.CategoryName] 
选择第二个 "Data "并设置其 "OutlineExpression "属性:
[Products.ProductName]

本次关于 FastReport .Net 介绍就讲解到这里了,点击此处查看关于用户指南的更多内容。如果您想获取更多产品试用/授权/价格信息,请点击FastReport .Net了解,或者点击咨询。


FastReport技术QQ群:585577353      欢迎进群一起讨论


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP