public void SetReport(Report report, Page pages) { this.pages = pages; this.report = report; this.MinHeight = (int)report.PageWidthPoints + (rep_padding * 2); this.MinWidth = (int)report.PageHeightPoints + (rep_padding * 2); }
public void SetReport(Report report, Page pages) { this.pages = pages; this.report = report; this.QueueResize(); GdkWindow.Invalidate(); }
public void SetReport(Report report, Page pages) { this.pages = pages; this.report = report; this.NaturalWidth = (int)report.PageWidthPoints + rep_padding * 2; this.NaturalHeight = (int)report.PageHeightPoints + rep_padding * 2; }
private string GenerateXaml(fyiReporting.RDL.Page page) { StringBuilder sb = new StringBuilder(); sb.Append("<Canvas xmlns=\"http://schemas.microsoft.com/client/2007\">"); ProcessPage(sb, page, new Rectangle(0, 0, PixelsX(_Pages.PageWidth), PixelsY(_Pages.PageHeight))); sb.Append("</Canvas>"); return(sb.ToString()); }
public void SetReport(Report report, Page pages) { this.pages = pages; this.report = report; this.WidthRequest = (int)report.PageWidthPoints + rep_padding * 2; this.HeightRequest = (int)report.PageHeightPoints + rep_padding * 2; GdkWindow.Invalidate (); }
public void NextOrNew() { if (_currentPage == this.LastPage) AddPage(new Page(PageCount+1)); else { _currentPage = _pages[_currentPage.PageNumber]; _currentPage.SetEmpty(); } }
public void NextOrNew() { if (_currentPage == this.LastPage) AddPage(new Page(PageCount+1)); else { _currentPage = _pages[_currentPage.PageNumber]; _currentPage.SetEmpty(); } //Allows using PageNumber in report body. //Important! This feature is NOT included in RDL specification! //PageNumber will be wrong if element using it will cause carry to next page after render. Report.PageNumber = _currentPage.PageNumber; }
public void RunPage(Page pgs) { //TODO : Why Cairo is broken when CurrentThread.CurrentCulture is set to local ? //At Linux when CurrentCulture is set to local culture, Cairo rendering is serious broken CultureInfo oldci = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; try { ProcessPage (g, pgs); } finally { Thread.CurrentThread.CurrentCulture = oldci; } }
private string CreateXamlFromPage(int pageNo) { try { if (_XamlPages[pageNo] == null) // if already built don't do again { // Need to build the Xaml fyiReporting.RDL.Page page = _Pages[pageNo]; _XamlPages[pageNo] = GenerateXaml(page); } return(_XamlPages[pageNo]); } finally { _Pages.CleanUp(); } }
/// <summary> /// Build the Pages for this report. /// </summary> /// <returns></returns> public Pages BuildPages() { PageNumber = 1; // reset page numbers TotalPages = 1; Pages pgs = new Pages(this); pgs.PageHeight = _Report.PageHeight.Points; pgs.PageWidth = _Report.PageWidth.Points; try { Page p = new Page(1); // kick it off with a new page pgs.AddPage(p); // Create all the pages _Report.Body.RunPage(pgs); if (pgs.LastPage.IsEmpty() && pgs.PageCount > 1) // get rid of extraneous pages which pgs.RemoveLastPage(); // can be caused by region page break at end // Now create the headers and footers for all the pages (as needed) if (_Report.PageHeader != null) _Report.PageHeader.RunPage(pgs); if (_Report.PageFooter != null) _Report.PageFooter.RunPage(pgs); // clear out any runtime clutter foreach (Page pg in pgs) pg.ResetPageExpressions(); pgs.SortPageItems(); // Handle ZIndex ordering of pages } catch (Exception e) { rl.LogError(8, "Exception running report\r\n" + e.Message + "\r\n" + e.StackTrace); } finally { pgs.CleanUp(); // always want to make sure we clean this up since _Cache = new RCache(); } return pgs; }
/// <summary> /// Draw: accounting for scrolling and zoom factors /// </summary> /// <param name="_pgs"></param> /// <remarks>This the equivalent of RdlViewer.PageDrawing.Draw</remarks> public void RunPage(Page _pgs) { ProcessPage(g, _pgs); }
internal Page CurrentPage; // the page this reportitem was last put on; internal WorkClass() { MC=null; BottomPosition=float.NaN; CurrentPage=null; }
// routine to determine if text is considered to be a duplicate; // ie: same as previous text and on same page private bool RunTextIsDuplicate(TextboxRuntime tbr, string t, Page p) { if (this._HideDuplicates == null) return false; if (t == tbr.PreviousText && p == tbr.PreviousPage) return true; return false; }
internal void RunPage(IPresent ip) { Pages pgs = new Pages(ip.Report()); try { Page p = new Page(1); // kick it off with a new page pgs.AddPage(p); // Create all the pages _Body.RunPage(pgs); if (pgs.LastPage.IsEmpty()) // get rid of extraneous pages which pgs.RemoveLastPage(); // can be caused by region page break at end // Now create the headers and footers for all the pages (as needed) if (_PageHeader != null) _PageHeader.RunPage(pgs); if (_PageFooter != null) _PageFooter.RunPage(pgs); pgs.SortPageItems(); // Handle ZIndex ordering of pages ip.RunPages(pgs); } finally { pgs.CleanUp(); // always want to make sure we clean this up since if (_DataSourcesDefn != null) _DataSourcesDefn.CleanUp(pgs.Report); // ensure datasets are cleaned up } return; }
internal void RecordPageReference(Report rpt, Page p, Row r) { if (_ExprReferences == null) return; foreach (string refr in _ExprReferences) { p.AddPageExpressionRow(rpt, refr, r); } }
internal void RunPage(IPresent ip) { Pages pgs = new Pages(this); try { Page p = new Page(1); // kick it off with a new page pgs.AddPage(p); // Create all the pages _Body.RunPage(pgs); if (pgs.LastPage.IsEmpty()) // get rid of extraneous pages which pgs.RemoveLastPage(); // can be caused by region page break at end // Now create the headers and footers for all the pages (as needed) if (_PageHeader != null) _PageHeader.RunPage(pgs); if (_PageFooter != null) _PageFooter.RunPage(pgs); ip.RunPages(pgs); } finally { pgs.CleanUp(); // always want to make sure we clean this up since } return; }
public Pages BuildPages() { PageNumber.RuntimePageNumber = 1; // reset page numbers TotalPages.RuntimePageCount = 1; Pages pgs = new Pages(this); pgs.PageHeight = this.PageHeight.Points; pgs.PageWidth = this.PageWidth.Points; try { Page p = new Page(1); // kick it off with a new page pgs.AddPage(p); // Create all the pages _Body.RunPage(pgs); if (pgs.LastPage.IsEmpty() && pgs.PageCount > 1) // get rid of extraneous pages which pgs.RemoveLastPage(); // can be caused by region page break at end // Now create the headers and footers for all the pages (as needed) if (_PageHeader != null) _PageHeader.RunPage(pgs); if (_PageFooter != null) _PageFooter.RunPage(pgs); } catch (Exception e) { rl.LogError(8, "Exception running report\r\n" + e.Message + "\r\n" + e.StackTrace); } finally { pgs.CleanUp(); // always want to make sure we clean this up since } return pgs; }
internal Page RunPageNew(Pages pgs, Page p) { if (p.IsEmpty()) // if the page is empty it won't help to create another one return p; // Do we need a new page or have should we fill out more body columns Body b = OwnerReport.Body; int ccol = b.IncrCurrentColumn(pgs.Report); // bump to next column float top = OwnerReport.TopOfPage; // calc top of page if (ccol < b.Columns) { // Stay on same page but move to new column p.XOffset = ((OwnerReport.Width.Points + b.ColumnSpacing.Points) * ccol); p.YOffset = top; p.SetEmpty(); // consider this page empty } else { // Go to new page b.SetCurrentColumn(pgs.Report, 0); pgs.NextOrNew(); p = pgs.CurrentPage; p.YOffset = top; p.XOffset = 0; } return p; }
internal Row OutputRow; // the previous outputed row #endregion Fields #region Constructors internal WorkClass() { OutputRow = null; OutputPage = null; }
internal Page CurrentPage; // the page this reportitem was last put on; internal WorkClass() { m_Mc=null; m_BottomPosition=float.NaN; CurrentPage=null; }
public void AddPage(Page p) { _pages.Add(p); _currentPage = p; }