RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1018046
Accepted
Rekssel
Rekssel
Asked:2020-08-28 12:08:07 +0000 UTC2020-08-28 12:08:07 +0000 UTC 2020-08-28 12:08:07 +0000 UTC

FastReport 备注高度 by MasterData 高度

  • 772

FastReport 4.12.6 中有一个报告。它显示按类型分组的数据(使用 SubReport)。报告本身在卸载和分组数据方面起作用。问题是组字段的高度没有延伸到它们自己的 MasterData。它看起来(示意性地)像这样:报告结果示意图

正如您在图像中看到的:字段 2(组名)和 5(类型总数(在第 2 行的字段 3 中表示))应该在高度上拉伸,但这不会发生。“播放”了备忘录本身的 StretchMode 属性,以及放置它们的 MasterData 的 Stretched。

报告的结构如下:

MasterData
  Memo //для поля 2 (название группы)
  Subreport
    MasterData
      Memo //для поля 5 (общее количество типов (указаны в поле 3 во 2й строке))
      Subreport
        MasterData
          Memo //для остальных полей

数据附加到 MasterData 和 Memo(三个不同的查询:组 (2)、组中的类型及其编号 (5)、详细信息 (3,6,7))如果子 ID 与父 ID 不匹配。

我无法更详细地描述它,因为它是公司机密。

有关如何将 Memo 扩展到其 MasterData 的完整高度的建议?好吧,或者告诉我,也许我通常使用错误的分组方法,我应该,好吧,相应地指导它。


我附上了一个与我的主要报告完全相同的最小示例(也就是说,不正确,没有拉伸,设置仍然相同)。

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="4.12.6" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="43705,4791322454" ReportOptions.Description.Text="" ReportOptions.LastChange="43705,4818397107" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="03546F7003C0000844617461736574730100095661726961626C65730100055374796C650100">
  <TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
  <TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
    <TfrxMasterData Name="MasterData1" Height="18,89765" Left="0" Top="18,89765" Width="718,1107" ColumnWidth="0" ColumnGap="0" RowCount="2" Stretched="True">
      <TfrxSubreport Name="Subreport1" Left="0" Top="0" Width="718,1107" Height="18,89765" ShowHint="False" Page="Page2"/>
      <TfrxMemoView Name="Memo1" Left="109,60637" Top="0" Width="94,48825" Height="18,89765" ShowHint="False" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Typ="15" ParentFont="False" Text="Group"/>
    </TfrxMasterData>
  </TfrxReportPage>
  <TfrxReportPage Name="Page2" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
    <TfrxMasterData Name="MasterData2" Height="18,89765" Left="0" Top="18,89765" Width="718,1107" ColumnWidth="0" ColumnGap="0" RowCount="2" Stretched="True">
      <TfrxSubreport Name="Subreport2" Align="baWidth" Left="0" Top="0" Width="718,1107" Height="18,89765" ShowHint="False" Page="Page3"/>
      <TfrxMemoView Name="Memo3" Left="204,09462" Top="0" Width="94,48825" Height="18,89765" ShowHint="False" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Typ="15" ParentFont="False" Text="Count"/>
    </TfrxMasterData>
  </TfrxReportPage>
  <TfrxReportPage Name="Page3" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
    <TfrxMasterData Name="MasterData3" Height="18,89765" Left="0" Top="18,89765" Width="718,1107" ColumnWidth="0" ColumnGap="0" RowCount="5" Stretched="True">
      <TfrxMemoView Name="Memo4" Left="298,58287" Top="0" Width="94,48825" Height="18,89765" ShowHint="False" StretchMode="smMaxHeight" Font.Charset="1" Font.Color="-16777208" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Typ="15" ParentFont="False" Text="Details"/>
    </TfrxMasterData>
  </TfrxReportPage>
</TfrxReport>
fastreport
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Kromster
    2020-08-28T12:17:54Z2020-08-28T12:17:54Z

    要沿带的高度拉伸对象,StretchMode = smMaxHeight. 要拉伸带以使其包含其对象,请使用该属性Stretched = True。

    如果你不能,那么请制作并附上一个最小的例子(没有公司机密),我们将尝试找出它有什么问题。


    它看起来像 FastReport 中的一个错误,它不计算子报表的高度。那么有3个解决方案:

    • 联系技术支持,
    • 将表格转换为常规表格或交叉表格,并进行单元格合并,
    • 在 2 遍中构建报告,在 1 遍中记住脚本中子报告的高度,并在第二遍中分配它。
    • 1
  2. Best Answer
    Rekssel
    2020-08-29T16:16:39Z2020-08-29T16:16:39Z

    有一种解决问题的方法 - 将 y 设置为Subreportenabled 属性PrintOnParent并将“拉伸”字段设置为StretchMode = smMaxHeight。但是,如果您只使用一个子查询,此选项只会对您有所帮助。如果您在子查询中还有一个子查询,并且两者都设置为PrintOnParent = true,那么嵌套在子查询中的子查询(听起来很糟糕,但我不知道如何描述它)将根本不会被打印,就好像它确实一样根本不存在。这是一件很奇怪的事情,而且很可能是 FastReport 本身的一个缺陷。由于我只有一个“多重嵌套”案例,另一件事帮助了我。

    在我仔细检查了所有内容 10 次之后(FastReport 指南没有帮助,也没有帮助),我通过为每个“问题”备忘录定义 OnAfterData 找到了解决方案:

    procedure Memo<поле 2>OnAfterData(Sender: TfrxComponent);
    begin
      Memo<поле 2>.Height := Memo<поле 3>.Height * <группы."количество объектов">;  
    end;
    
    procedure Memo<поле 5>OnAfterData(Sender: TfrxComponent);
    begin
      Memo<поле 5>.Height := Memo<поле 3>.Height * <типы в группах."количество объектов">;                                                                
    end;
    

    这种情况很特殊,但只有这种方法适用于多嵌套子查询。对于高度乘数,我使用了参考备忘录,它的高度对我来说永远不会改变,而且我示例中 Detail 中的所有行的高度始终与其相等。

    • 1

相关问题

  • 如何将 FastReport 脚本中的测量单位转换为厘米?

  • 在 FastReport 中使用脚本或条件选择

  • 如何在两个表之间的 FastReport 报表中放置一个文本块?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5