private ReportBlock ExecuteUserCode(Render render, int pageIndex, Action <ReportBlock, object> action, object data) { ReportBlock block = new ReportBlock(this, render, 0, 0); block.AddDetail(0, 0, action, data, false, pageIndex); block.AssignPageIndexRecursive(pageIndex); return(block); }
private Render InternalRender(Render render) { ReportBlock rbPage = new ReportBlock(this, render, 0, 0); rbPage.AddDetail(0, rbPage.position.height, m_actionBody, m_actionBodyData, false); // dibuja el body rbPage.Draw(EPagePosition.Body, 0, 0, 0); return(render); }
/// <summary> /// Adds the detail. /// </summary> /// <returns>The detail.</returns> /// <param name="x">The x coordinate.</param> /// <param name="y">The y coordinate.</param> /// <param name="detail">Detail.</param> /// <param name="data">Data.</param> /// <param name="keepTogether">If set to <c>true</c> keep together.</param> /// <param name="pageIndexForHeaderOrFooter">Los headers y footers están en posición 0, pero en una página concreta, este valor representa esta página</param> internal ReportBlock AddDetail(float x, float y, Action <ReportBlock, object> detail, object data, bool keepTogether, int pageIndexForHeaderOrFooter) { ReportBlock rbDetail = new ReportBlock(m_report, m_render, x, y + position.y) { parent = this }; rbDetail.SetKeepTogether(keepTogether); rbDetail.PageIndex += pageIndexForHeaderOrFooter; if (detail != null) { detail.Invoke(rbDetail, data); } rbDetail.CheckKeepTogether(); AddSon(rbDetail); return(rbDetail); }