FastReport .NET使用教程:创建包含多个矩阵的复杂 表

今天我们将看一个面向波段的复杂 表,通常在

让我们看一下数据。它们是按照某种模式随机生成的:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

数据模板

该数据库包含来自不同国家的水果进口数据,按月细分。每条记录都有一个“数量”字段,用于存储进口水果的数量。

我们将使用 Matrix 对象来显示数据。让我们进入它的设置:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

矩阵设置

国家名称和水果类型将是我们的字符串,行将包含按年、季度和月的细分,水果的数量将是矩阵的单元格。

我们已经指出了矩阵中将使用哪些数据。让我们为所有单元格应用边框,并调整页面设置。我们将应用“无限高度”和“无限宽度”,以便我们的 告构成一张纸。之后,我们将准备以下 告:

生成的 告

生成的 告

2018 年和 2019 年的数据将向右移动。

首先,请注意已自动为所有列添加总计。如果我们不需要它们,我们可以删除它们,我们会这样做。要显示零而不是空单元格,您需要设置单元格的 NullValue 属性。结果,0 应该出现在其中。此外,让我们为表格禁用自动调整大小并调整结果:

生成的 告2

生成的 告

我们的任务是使用几个矩阵进行统计:

1) 按年份;

2)按季度;

3) 按月计算。

让我们复制矩阵并将其两个副本放在原始矩阵旁边。然后我们应用“设计器中的额外空间”来插入所有内容。请注意,当您复制一个矩阵时,它与数据是断开的,您需要在 DataSource 属性中选择所需的数据表。

让我们从矩阵中删除不必要的字段并将它们彼此靠近:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

矩阵设置

让我们尝试准备这样的 告:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

未来 告的大致视图

如您所见, 告中有几个问题:

1)矩阵显示不同,因为标题有不同的高度;

2) 在第二个和第三个矩阵中重复了国家和水果类型。

让我们增加第一个和第二个矩阵中“Year”行的高度。要选择一行,您可以将鼠标悬停在矩阵的左侧。当鼠标在其中一行上时,它会变成一个黑色的右箭头。此外,您可以在 告树中选择一行:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

告树

现在所有标题都是相同的高度:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

标头设置

FastReport 中的矩阵允许您通过将其大小减小为零来“隐藏”一列或一行。在我们的例子中,我们需要在第二个和第三个矩阵中隐藏带有“fruits”的“country names”。选择列并将其宽度减小为零:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

从矩阵中隐藏一列

重复几次之后,以及一起移动矩阵之后,我们得到以下模式:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

准备好的 告模板

请注意,这是三个独立的矩阵,而不是一个。但它们作为一个复杂矩阵工作,因为它们具有相同的标题和单元格高度,以及相同的数据集。

现在让我们看一下 告:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

总结 告

此屏幕截图显示不再显示国家/地区的名称,并且矩阵之间没有冲突。

最后,让我们美化我们的矩阵:

FastReport .NET使用教程:创建包含多个矩阵的复杂 表

对模板的最后更改

例如,要将单词添加到年份数字中,您需要记住矩阵的字段包含表达式。如果该字段包含此类文本,则会发生错误:

年份[ fruit_import_database. 年]

正确的做法是:

“年份”  +  [ fruit_import_database. 年]


FastReport交流群:702295239      欢迎一起进群讨论

更多FastReport产品教程、下载、正版授权资讯,请点击咨询获取

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月16日
下一篇 2022年4月16日

相关推荐

发表回复

登录后才能评论