2014-10-16 108 views
0

我的主要报告在详细信息部分包含一个子报表。ActiveReports多列详细信息

该报表被设计如下:

ghHeader1 

    ghHeader1.ColumnLayout = false; // this header span accross both detail columns 
    ghHeader1.NewColumn = None 
    ghHeader1.NewPage = None 
    ghHeader1.RepeatStyle = OnPage 

ghHeader2 

    ghHeader2.ColumnLayout = true; // this header is specific to each columns of the detail section 
    ghHeader2.NewColumn = None 
    ghHeader2.NewPage = None 
    ghHeader2.RepeatStyle = None 
    ghHeader2.ColumnGroupKeepTogether = true 
    ghHeader2.GroupKeepTogether = true 
    ghHeader2.KeepTogether = true 

detail Section 

    detail.ColumnCount = 2 
    detail.ColumnDirection = DownAcross 
    detail.NewColumn = None 
    detail.NewPage = None 

gfFooter2 

    gfFooter2.NewColumn = After 
    gfFooter2.NewPage = None 
    gfFooter2.ColumnLayout = true 

gfFooter1 

gfFooter1.NewColumn = None 
gfFooter1.NewPage = None 
gfFooter.ColumnLayout = false 

现在,我的问题是,使用这种配置,当第二列被印刷,而不是第一印刷列下添加新组,(在左侧即使有足够的空间在同一页面上打印组,也会创建新页面。

如何在第一列的同一页上打印下一组?

enter image description here

我使用的ActiveReports 7.1.7572。 谢谢。

回答

1

看来问题是由于“GroupKeepTogether”属性的设置而引起的。如果您要检查有关此属性here的详细信息,您会注意到,启用此属性会尝试将groupheader和其页脚放在同一页面上。如果它们不合适,那么它会将整个部分移到下一页。

我通过创建一个类似的报告测试了这个问题,但不幸的是无法重现这个问题。如果您需要进一步的帮助,您可以在GrapeCity support forums上发布您的问题。

+0

感谢您的回答,但最后,因为我知道每个组的位置,所以我选择在Re​​portStart事件中以编程方式添加所有控件。 – Fid 2014-10-24 17:24:56