delphi 快速报告:将详细信息波段和子波段保留在一个页面上

dzhpxtsq  于 2022-11-23  发布在  其他
关注(0)|答案(2)|浏览(143)

使用环境: Delphi 2010,快速报告5.0.5
我有一个包含2个波段的报告:细节带区和它的子带区。问题是有时它们被分割在不同的页面上。
我想有详细的乐队作为一个标题的孩子,并保持他们在同一页上总是。
学习了几个小时后,我放弃了。

**更新:**问题出在动态更改子带的高度上。我通过分析高度和ForceNewPage属性解决了这个问题。

有人知道解决办法吗?

nnsrf1az

nnsrf1az1#

请尝试使用细节带区的LinkBand属性。
如果子系变更其大小,您必须在父系的BeforePrint事件上计算它。

myss37ts

myss37ts2#

我认为,bug是在TQRCustomBand.StretchHeight方法中。单位和像素的大小是混合的:

function TQRCustomBand.StretchHeight(IncludeNext : Boolean): extended;
begin
  Result := Size.Length;
  if Assigned(FLinkBand) and IncludeNext then
    Result := Result + LinkBand.StretchHeight(True) + LinkBand.Height;
end;

我认为,这是一个普通的错误,最后一部分(+ LinkBand.Height)将被删除。但没有源代码(所以只有最昂贵的版本)和重新编译不能做到这一点。这个错误停留在版本3,仍然存在于6。

相关问题