2016-04-08 39 views
0

我在我的應用程序中使用了ActiveReports。它是一個包含100多頁的連續報告。該報告也有SubReports。它包含文本和少量圖像。活動報告圖片拆分

現在當生成報告時,主報告中的圖像被分成兩部分並顯示出來。例如,如果頁面5有一個圖像分裂,前半部分顯示在第5頁,後半部分顯示在第6頁。

經過幾次搜索,我發現插入page break幫助。但我如何找到report正在結束其頁面,它有image,所以我應該需要插入一個page break?還是有更好的解決方案?

​​

回答

0

設置部分KeepTogether屬性爲true的ActiveReports將確保部分保持在一起,跨頁不分裂。希望這可以幫助。

+0

該部分有許多面板,如果整個部分不合適,則使屬性爲true跳過。我只需要圖像面板來檢查是否合適。 – iamCR

+0

任何其他方式來實現? – iamCR

0

一些搜索後,我找到了答案,從here

整合將q & A型,

2的方式來實現這一目標,

沒有KeepTogether財產的控制。指定將它們保持在一起的唯一方法是將控件放在段的「保持在一起」屬性設置爲true的段中。在這種情況下,該解決方案將無法工作。

1.其中一種方法是,在控件的上方有一個PageBreak控件,並且您必須動態計算您在頁面上的位置。然後,您可以使用MeasureParagraphHeight方法來查看控件呈現文本所需的高度,並且如果PageBreak的啓用屬性不適合頁面,則將其設置爲true。在這種方法中,您還需要考慮您的保證金高度。

如果有SubReports,不幸的是SubReports並不總是遵循KeepTogether規則。除非絕對必要,否則子報表實際上應該被避免,因爲您正在運行額外報告&,這會增加開銷。

2.在這種情況下,我實際上會使用另一個groupheader節datafield屬性設置爲重複每一行數據。然後將詳細部分中的現有控件移動到內部GroupHeader。控件仍將顯示一行數據。然後可以使用該部分的KeepTogether屬性集將控件隔離在它自己的部分中。

我已經使用第二種方法來實現我的工作。