/// <summary> /// Creates an OverlayBand in the specified ReportPage. /// </summary> /// <param name="page">The ReportPage instance.</param> /// <returns>The OverlayBand instance.</returns> public static OverlayBand CreateOverlayBand(ReportPage page) { OverlayBand overlay = new OverlayBand(); page.Bands.Add(overlay); overlay.CreateUniqueName(); return(overlay); }
public void EditPage() { if (Disabled) { return; } using (Report report = new Report()) { ReportPage page = FPreparedPages.GetPage(PageNo - 1); OverlayBand overlay = new OverlayBand(); overlay.Name = "Overlay"; overlay.Width = (page.PaperWidth - page.LeftMargin - page.RightMargin) * Units.Millimeters; overlay.Height = (page.PaperHeight - page.TopMargin - page.BottomMargin) * Units.Millimeters; // remove bands, convert them to Text objects if necessary ObjectCollection allObjects = page.AllObjects; foreach (Base c in allObjects) { if (c is BandBase) { BandBase band = c as BandBase; if (band.HasBorder || band.HasFill) { TextObject textObj = new TextObject(); textObj.Bounds = band.Bounds; textObj.Border = band.Border.Clone(); textObj.Fill = band.Fill.Clone(); overlay.Objects.Add(textObj); } for (int i = 0; i < band.Objects.Count; i++) { ReportComponentBase obj = band.Objects[i]; if (!(obj is BandBase)) { obj.Anchor = AnchorStyles.Left | AnchorStyles.Top; obj.Dock = DockStyle.None; obj.Left = obj.AbsLeft; obj.Top = obj.AbsTop; overlay.Objects.Add(obj); i--; } } } } page.Clear(); page.Overlay = overlay; report.Pages.Add(page); page.SetReport(report); page.SetRunning(false); if (report.DesignPreviewPage()) { page = report.Pages[0] as ReportPage; FPreparedPages.ModifyPage(PageNo - 1, page); Refresh(); } } }