今天我们将看一个面向波段的复杂 表,通常在
让我们看一下数据。它们是按照某种模式随机生成的:
数据模板
该数据库包含来自不同国家的水果进口数据,按月细分。每条记录都有一个“数量”字段,用于存储进口水果的数量。
我们将使用 Matrix 对象来显示数据。让我们进入它的设置:
矩阵设置
国家名称和水果类型将是我们的字符串,行将包含按年、季度和月的细分,水果的数量将是矩阵的单元格。
我们已经指出了矩阵中将使用哪些数据。让我们为所有单元格应用边框,并调整页面设置。我们将应用“无限高度”和“无限宽度”,以便我们的 告构成一张纸。之后,我们将准备以下 告:
生成的 告
2018 年和 2019 年的数据将向右移动。
首先,请注意已自动为所有列添加总计。如果我们不需要它们,我们可以删除它们,我们会这样做。要显示零而不是空单元格,您需要设置单元格的 NullValue 属性。结果,0 应该出现在其中。此外,让我们为表格禁用自动调整大小并调整结果:
生成的 告
我们的任务是使用几个矩阵进行统计:
1) 按年份;
2)按季度;
3) 按月计算。
让我们复制矩阵并将其两个副本放在原始矩阵旁边。然后我们应用“设计器中的额外空间”来插入所有内容。请注意,当您复制一个矩阵时,它与数据是断开的,您需要在 DataSource 属性中选择所需的数据表。
让我们从矩阵中删除不必要的字段并将它们彼此靠近:
矩阵设置
让我们尝试准备这样的 告:
未来 告的大致视图
如您所见, 告中有几个问题:
1)矩阵显示不同,因为标题有不同的高度;
2) 在第二个和第三个矩阵中重复了国家和水果类型。
让我们增加第一个和第二个矩阵中“Year”行的高度。要选择一行,您可以将鼠标悬停在矩阵的左侧。当鼠标在其中一行上时,它会变成一个黑色的右箭头。此外,您可以在 告树中选择一行:
告树
现在所有标题都是相同的高度:
标头设置
FastReport 中的矩阵允许您通过将其大小减小为零来“隐藏”一列或一行。在我们的例子中,我们需要在第二个和第三个矩阵中隐藏带有“fruits”的“country names”。选择列并将其宽度减小为零:
从矩阵中隐藏一列
重复几次之后,以及一起移动矩阵之后,我们得到以下模式:
准备好的 告模板
请注意,这是三个独立的矩阵,而不是一个。但它们作为一个复杂矩阵工作,因为它们具有相同的标题和单元格高度,以及相同的数据集。
现在让我们看一下 告:
总结 告
此屏幕截图显示不再显示国家/地区的名称,并且矩阵之间没有冲突。
最后,让我们美化我们的矩阵:
对模板的最后更改
例如,要将单词添加到年份数字中,您需要记住矩阵的字段包含表达式。如果该字段包含此类文本,则会发生错误:
年份[ fruit_import_database. 年]
正确的做法是:
“年份” + [ fruit_import_database. 年]
FastReport交流群:702295239 欢迎一起进群讨论
更多FastReport产品教程、下载、正版授权资讯,请点击咨询获取
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!