我在 ReportBuilder 中有一份报告,应该报告两个对象。我没有创建此报告,也无法询问创建此报告的人它是如何工作的。在运行报告之前,我们有一些代码经过,找到对象的所有属性,并将它们加载到如下所示的内存数据集中:
OBJECT_ID: TStringField
PROP_NAME: TStringField
PROP_VALUE: TStringField
然后,报表引擎会在报表上为此数据集中的每个属性创建一行。这是在子报告中实现的,其父级仅包含一个 OBJECT_ID,这是一个人类可读的名称。
一切都很顺利,直到我们不得不在报告中显示任意大小的“评论”。我用 TMemoField 制作了第二个子报表,这样它就可以保存文本,并在报表设计器中设置报表。
当我运行报告时,我期望的是如下所示:
HEADER
Object 1 properties
Object 1 comment
Object 2 properties
Object 2 comment
我已经设法得到了除此之外的所有东西。我使用了子报告管道的 MasterDataPipeline 和 MasterFieldLinks 属性来尝试将子报告的 OBJECT_ID 链接到标题的 OBJECT_ID,这是我设法做到的最接近的,但现在我看到的是:
HEADER
Object 1 properties
Object 1 comment
Object 2 comment
“对象 2 属性”部分无处可见,即使我已手动验证数据是否正确进入数据集。
这让我发疯了。那里的任何 ReportBuilder 大师都知道发生了什么,现在要解决它吗?