//------------------------------------------------------------------------------------------30.10.2004 /// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { fontDef_Helvetica = new FontDef(this, FontDef.StandardFont.TimesRoman); FontProp fontProp_Text = new FontPropMM(fontDef_Helvetica, 1.9); // standard font FontProp fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9); // font of the table header fontProp_Header.bBold = true; // create table TableLayoutManager tlm; using (tlm = new TableLayoutManager(fontProp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table tlm.tlmCellDef_Header.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells tlm.tlmHeightMode = TlmHeightMode.AdjustLast; tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // define columns TlmColumn col; col = new TlmColumnMM(tlm, "Natureza Lançamento", 80); col.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; col = new TlmColumnMM(tlm, "Tipo", 40); col = new TlmColumnMM(tlm, "Data", 30); col = new TlmColumnMM(tlm, "Valor", 30); List<Financas> listaFinancas = (List<Financas>)RelatorioDTO.DadosRelatorio; Decimal valorTotal = 0; foreach (Financas financas in listaFinancas) { tlm.NewRow(); tlm.Add(0, new RepString(fontProp_Text, financas.NaturezaLancamento.NomeNatureza)); tlm.Add(1, new RepString(fontProp_Text, financas.TipoLancamento)); tlm.Add(2, new RepString(fontProp_Text, financas.DataLancamento.Value.ToString("dd/MM/yyyy"))); tlm.Add(3, new RepString(fontProp_Text, String.Format("{0:C2}", financas.Valor.Value))); valorTotal += financas.Valor.Value; } if (listaFinancas.Count > 0) { tlm.NewRow(); tlm.Add(0, new RepString(fontProp_Text, "")); tlm.Add(1, new RepString(fontProp_Text, "")); tlm.Add(2, new RepString(fontProp_Text, "Total:")); tlm.Add(3, new RepString(fontProp_Text, String.Format("{0:C2}", valorTotal))); } } //page_Cur.AddCT_MM(rPosLeft + tlm.rWidthMM / 2, rPosTop + tlm.rCurY_MM + 2, new RepString(fontProp_Text, "- end of table -")); // print page number and current date/time Double rY = rPosBottom + 1.5; foreach (Page page in enum_Page) { page.AddLT_MM(rPosLeft, rY, new RepString(fontProp_Text, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString())); page.AddRT_MM(rPosRight, rY, new RepString(fontProp_Text, page.iPageNo + " / " + iPageCount)); } }
//------------------------------------------------------------------------------------------30.10.2004 /// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { fontDef_Helvetica = new FontDef(this, FontDef.StandardFont.TimesRoman); FontProp fontProp_Text = new FontPropMM(fontDef_Helvetica, 1.9); // standard font FontProp fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9); // font of the table header fontProp_Header.bBold = true; // create table TableLayoutManager tlm; using (tlm = new TableLayoutManager(fontProp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table tlm.tlmCellDef_Header.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells tlm.tlmHeightMode = TlmHeightMode.AdjustLast; tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // define columns TlmColumn col; col = new TlmColumnMM(tlm, "Assistido", 50); col.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; col = new TlmColumnMM(tlm, "Dt. Nascimento", 24); col = new TlmColumnMM(tlm, "Dt. Entrada", 20); col = new TlmColumnMM(tlm, "Dt. Saída", 20); col = new TlmColumnMM(tlm, "Estado Saúde", 22); col = new TlmColumnMM(tlm, "Status", 26); col = new TlmColumnMM(tlm, "Ativo", 15); System.Collections.Generic.List<Assistido> listaAssistido = (System.Collections.Generic.List<Assistido>)RelatorioDTO.DadosRelatorio; foreach (Assistido assistido in listaAssistido) { tlm.NewRow(); tlm.Add(0, new RepString(fontProp_Text, assistido.Nome)); if (assistido.DataNascimento.HasValue) tlm.Add(1, new RepString(fontProp_Text, assistido.DataNascimento.Value.ToString("dd/MM/yyyy"))); else tlm.Add(1, new RepString(fontProp_Text, "")); tlm.Add(2, new RepString(fontProp_Text, assistido.DataEntrada.Value.ToString("dd/MM/yyyy"))); if (assistido.DataSaida.HasValue) tlm.Add(3, new RepString(fontProp_Text, assistido.DataSaida.Value.ToString("dd/MM/yyyy"))); else tlm.Add(3, new RepString(fontProp_Text, "")); tlm.Add(4, new RepString(fontProp_Text, assistido.EstadoSaude)); tlm.Add(5, new RepString(fontProp_Text, assistido.StatusAssistido)); tlm.Add(6, new RepString(fontProp_Text, assistido.AssistidoAtivo)); } } //page_Cur.AddCT_MM(rPosLeft + tlm.rWidthMM / 2, rPosTop + tlm.rCurY_MM + 2, new RepString(fontProp_Text, "- end of table -")); // print page number and current date/time Double rY = rPosBottom + 1.5; foreach (Page page in enum_Page) { page.AddLT_MM(rPosLeft, rY, new RepString(fontProp_Text, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString())); page.AddRT_MM(rPosRight, rY, new RepString(fontProp_Text, page.iPageNo + " / " + iPageCount)); } }
private Double rWidth = 175; // millimeters //------------------------------------------------------------------------------------------13.11.2004 /// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { FontDef fd = new FontDef(this, FontDef.StandardFont.Helvetica); FontProp fp = new FontPropMM(fd, 1.9); Double rY = 40; // vertical position in millimeters new Page(this); FontProp fp_Title = new FontPropMM(fd, 8); page_Cur.AddCB_MM(rY, new RepString(fp_Title, "List Layout Manager Sample")); rY += 18; // create list ListLayoutManager llm = null; using (llm = new ListLayoutManager(this)) { PenProp pp_BorderLine = new PenPropMM(this, 0.4, Color.Blue); PenProp pp_GridLine = new PenPropMM(this, 0.1, Color.Blue); llm.tlmColumnDef_Default.penProp_BorderH = pp_BorderLine; llm.tlmCellDef_Default.penProp_Line = pp_GridLine; TlmColumn col_Number = new TlmColumnMM(llm, 10); col_Number.tlmCellDef_Default.rAlignH = RepObj.rAlignCenter; col_Number.tlmCellDef_Default.rAlignV = RepObj.rAlignCenter; col_Number.tlmCellDef_Default.penProp_LineLeft = pp_BorderLine; TlmColumn col_Text = new TlmColumnMM(llm, 100); col_Text.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; TlmColumn col_Author = new TlmColumnMM(llm, rWidth - llm.rWidthMM); col_Author.tlmCellDef_Default.penProp_LineRight = pp_BorderLine; col_Author.tlmCellDef_Default.brushProp_Back = new BrushProp(this, Color.FromArgb(255, 210, 210)); llm.container_CreateMM(page_Cur, rMarginLeft, rY); // immediately creates a container // first row llm.NewRow(); col_Number.Add(new RepString(fp, "1.")); col_Text.Add(new RepString(fp, "Rapunzel ")); col_Author.Add(new RepString(fp, "Gebrüder Grimm")); TlmRow row = llm.tlmRow_New(); col_Text.Add(new RepString(fp, "There once was a woman and a man that lived next to a witch. They were very happy. The lady saw rapunzel in the witch’s garden and she really wanted to eat it. When she ate it, she liked it. ")); // second row llm.tlmCellDef_Default.penProp_LineTop = pp_BorderLine; row = llm.tlmRow_New(); row.aTlmCell[col_Text].penProp_Line = new PenPropMM(this, 0.5, Color.Red); row.aTlmCell[col_Text].iOrderLineRight = 1; row.aTlmCell[col_Text].iOrderLineBottom = 1; col_Number.Add(new RepString(fp, "2.")); col_Text.Add(new RepString(fp, "The Princess and the Pea")); col_Author.Add(new RepString(fp, "Hans Christian Andersen")); llm.tlmCellDef_Default.penProp_LineTop = pp_GridLine; llm.NewRow(); col_Text.Add(new RepString(fp, "In a far away land, there lived a prince who wanted a real princess to be his wife. He traveled around the world to find her. He returned alone and unhappy to his kingdom.")); col_Text.NewLine(); col_Text.Add(new RepString(fp, "One stormy night, a princess arrived at the door. The lightening was flashing. Torrents of rain were rushing down. The princess's clothes were soaked. Water was running into the heels of her shoes and out the toes. It was a dreadful storm.")); // third row llm.tlmCellDef_Default.penProp_LineTop = pp_BorderLine; llm.NewRow(); col_Number.Add(new RepString(fp, "3.")); col_Text.Add(new RepString(fp, "Hansel and Gretel")); col_Author.Add(new RepString(fp, "Gebrüder Grimm")); llm.tlmCellDef_Default.penProp_LineTop = pp_GridLine; llm.NewRow(); col_Text.Add(new RepString(fp, "Once upon a time in a vast forest lived a poor family. Since there was a famine, they had zero food.")); col_Text.NewLineMM(fp.rLineFeedMM + 1); col_Text.Add(new RepString(fp, "There was a woodcutter who had a mean wife and a boy named Hansel and a girl named Gretel. The mean wife decided to get rid of Hansel and Gretel so she could have more food. The children overheard her plan to leave them in the forest. Hansel gathered pebbles from his yard.")); } rY += llm.rCurY_MM + 1.5; fp.rSizeMM = 1.5; page_Cur.AddRT_MM(rMarginLeft + rWidth, rY, new RepString(fp, "End of list")); }
private Double rPosBottom = 278; // millimeters //------------------------------------------------------------------------------------------30.10.2004 /// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { fontDef_Helvetica = new FontDef(this, FontDef.StandardFont.TimesRoman); FontProp fontProp_Text = new FontPropMM(fontDef_Helvetica, 1.9); // standard font FontProp fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9); // font of the table header fontProp_Header.bBold = true; Stream stream_Phone = GetType().Assembly.GetManifestResourceStream("SGS.Componentes.Phone.jpg"); Random random = new Random(6); // create table TableLayoutManager tlm; using (tlm = new TableLayoutManager(fontProp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table tlm.tlmCellDef_Header.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells tlm.tlmHeightMode = TlmHeightMode.AdjustLast; tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // define columns TlmColumn col; col = new TlmColumnMM(tlm, "ID", 13); col = new TlmColumnMM(tlm, "Company Name", 40); col.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; col = new TlmColumnMM(tlm, "Address", 30); col = new TlmColumnMM(tlm, "City", 22); col = new TlmColumnMM(tlm, "Postal Code", 16); col = new TlmColumnMM(tlm, "Country", 18); //col = new TlmColumnMM(tlm, "Pais", 24); TlmColumn col_Phone = new TlmColumnMM(tlm, "Phone", rPosRight - rPosLeft - tlm.rWidthMM); col_Phone.fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9, Color.Brown); col_Phone.tlmCellDef_Header.rAlignH = RepObj.rAlignRight; col_Phone.tlmCellDef_Default.rAlignH = RepObj.rAlignRight; BrushProp brushProp_Phone = new BrushProp(this, Color.FromArgb(255, 255, 200)); col_Phone.tlmCellDef_Default.brushProp_Back = brushProp_Phone; BrushProp brushProp_USA = new BrushProp(this, Color.FromArgb(255, 180, 180)); // open data set DataSet dataSet = new DataSet(); using (Stream stream_Customers = GetType().Assembly.GetManifestResourceStream("SGS.Componentes.Customers.xml")) { dataSet.ReadXml(stream_Customers); } DataTable dataTable_Customers = dataSet.Tables[0]; foreach (DataRow dr in dataTable_Customers.Rows) { String sCountry = (String)dr["Country"]; tlm.tlmCellDef_Default.brushProp_Back = (sCountry == "USA" ? brushProp_USA : null); col_Phone.tlmCellDef_Default.brushProp_Back = (sCountry == "USA" ? new BrushProp(this, Color.FromArgb(255, 227, 50)) : brushProp_Phone); tlm.NewRow(); tlm.Add(0, new RepString(fontProp_Text, (String)dr["CustomerID"])); tlm.Add(1, new RepString(fontProp_Text, (String)dr["CompanyName"])); tlm.Add(2, new RepString(fontProp_Text, (String)dr["Address"])); tlm.Add(3, new RepString(fontProp_Text, (String)dr["City"])); tlm.Add(4, new RepString(fontProp_Text, (String)dr["PostalCode"])); tlm.Add(5, new RepString(fontProp_Text, sCountry)); tlm.Add(6, new RepString(fontProp_Text, (String)dr["Phone"])); if (random.NextDouble() < 0.2) { // mark randomly selected row with a phone icon tlm.tlmRow_Cur.aTlmCell[col_Phone].AddMM(1, 0.25, new RepImageMM(stream_Phone, 2.1, 2.3)); } } } page_Cur.AddCT_MM(rPosLeft + tlm.rWidthMM / 2, rPosTop + tlm.rCurY_MM + 2, new RepString(fontProp_Text, "- end of table -")); // print page number and current date/time Double rY = rPosBottom + 1.5; foreach (Page page in enum_Page) { page.AddLT_MM(rPosLeft, rY, new RepString(fontProp_Text, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString())); page.AddRT_MM(rPosRight, rY, new RepString(fontProp_Text, page.iPageNo + " / " + iPageCount)); } }
//------------------------------------------------------------------------------------------30.10.2004 /// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { fontDef_Helvetica = new FontDef(this, FontDef.StandardFont.TimesRoman); FontProp fontProp_Text = new FontPropMM(fontDef_Helvetica, 1.9); // standard font FontProp fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9); // font of the table header fontProp_Header.bBold = true; // create table TableLayoutManager tlm; using (tlm = new TableLayoutManager(fontProp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table tlm.tlmCellDef_Header.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells tlm.tlmHeightMode = TlmHeightMode.AdjustLast; tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // define columns TlmColumn col; col = new TlmColumnMM(tlm, "Nome Plano", 35); col.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; col = new TlmColumnMM(tlm, "Data Início", 25); col = new TlmColumnMM(tlm, "Data Fim", 25); col = new TlmColumnMM(tlm, "Valor Orçamento", 30); col = new TlmColumnMM(tlm, "Valor Gasto", 30); col = new TlmColumnMM(tlm, "Saldo Orçamento", 30); List<Orcamento> listaOrcamento = (List<Orcamento>)RelatorioDTO.DadosRelatorio; foreach (Orcamento orcamento in listaOrcamento) { tlm.NewRow(); tlm.Add(0, new RepString(fontProp_Text, orcamento.NomePlano)); tlm.Add(1, new RepString(fontProp_Text, orcamento.InicioVigencia.Value.ToString("dd/MM/yyyy") )); tlm.Add(2, new RepString(fontProp_Text, orcamento.FimVigencia.Value.ToString("dd/MM/yyyy"))); tlm.Add(3, new RepString(fontProp_Text, String.Format("{0:C2}", orcamento.ValorOrcamento.Value))); tlm.Add(4, new RepString(fontProp_Text, String.Format("{0:C2}", orcamento.ValorFinanceiroReal))); tlm.Add(5, new RepString(fontProp_Text, String.Format("{0:C2}", orcamento.SaldoDisponivelOrcamento))); } } //page_Cur.AddCT_MM(rPosLeft + tlm.rWidthMM / 2, rPosTop + tlm.rCurY_MM + 2, new RepString(fontProp_Text, "- end of table -")); // print page number and current date/time Double rY = rPosBottom + 1.5; foreach (Page page in enum_Page) { page.AddLT_MM(rPosLeft, rY, new RepString(fontProp_Text, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString())); page.AddRT_MM(rPosRight, rY, new RepString(fontProp_Text, page.iPageNo + " / " + iPageCount)); } }
private Double rPosBottom = 278; // millimeters //------------------------------------------------------------------------------------------30.10.2004 /// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { fontDef_Helvetica = new FontDef(this, FontDef.StandardFont.Helvetica); FontProp fontProp_Text = new FontPropMM(fontDef_Helvetica, 1.9); // standard font FontProp fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9); // font of the table header fontProp_Header.bBold = true; Stream stream_Phone = GetType().Assembly.GetManifestResourceStream("ReportSamples.Phone.jpg"); Random random = new Random(6); // create table TableLayoutManager tlm; using (tlm = new TableLayoutManager(fontProp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table tlm.tlmCellDef_Header.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells tlm.tlmHeightMode = TlmHeightMode.AdjustLast; tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // define columns TlmColumn col; col = new TlmColumnMM(tlm, "ID", 13); col = new TlmColumnMM(tlm, "Company Name", 40); col.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; col = new TlmColumnMM(tlm, "Address", 36); col = new TlmColumnMM(tlm, "City", 22); col = new TlmColumnMM(tlm, "Postal Code", 16); col = new TlmColumnMM(tlm, "Country", 18); TlmColumn col_Phone = new TlmColumnMM(tlm, "Phone", rPosRight - rPosLeft - tlm.rWidthMM); col_Phone.fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9, Color.Brown); col_Phone.tlmCellDef_Header.rAlignH = RepObj.rAlignRight; col_Phone.tlmCellDef_Default.rAlignH = RepObj.rAlignRight; BrushProp brushProp_Phone = new BrushProp(this, Color.FromArgb(255, 255, 200)); col_Phone.tlmCellDef_Default.brushProp_Back = brushProp_Phone; BrushProp brushProp_USA = new BrushProp(this, Color.FromArgb(255, 180, 180)); // open data set DataSet dataSet = new DataSet(); using (Stream stream_Customers = GetType().Assembly.GetManifestResourceStream("ReportSamples.Customers.xml")) { dataSet.ReadXml(stream_Customers); } DataTable dataTable_Customers = dataSet.Tables[0]; foreach (DataRow dr in dataTable_Customers.Rows) { String sCountry = (String)dr["Country"]; tlm.tlmCellDef_Default.brushProp_Back = (sCountry == "USA" ? brushProp_USA : null); col_Phone.tlmCellDef_Default.brushProp_Back = (sCountry == "USA" ? new BrushProp(this, Color.FromArgb(255, 227, 50)) : brushProp_Phone); tlm.NewRow(); tlm.Add(0, new RepString(fontProp_Text, (String)dr["CustomerID"])); tlm.Add(1, new RepString(fontProp_Text, (String)dr["CompanyName"])); tlm.Add(2, new RepString(fontProp_Text, (String)dr["Address"])); tlm.Add(3, new RepString(fontProp_Text, (String)dr["City"])); tlm.Add(4, new RepString(fontProp_Text, (String)dr["PostalCode"])); tlm.Add(5, new RepString(fontProp_Text, sCountry)); tlm.Add(6, new RepString(fontProp_Text, (String)dr["Phone"])); if (random.NextDouble() < 0.2) // mark randomly selected row with a phone icon { tlm.tlmRow_Cur.aTlmCell[col_Phone].AddMM(1, 0.25, new RepImageMM(stream_Phone, 2.1, 2.3)); } } } page_Cur.AddCT_MM(rPosLeft + tlm.rWidthMM / 2, rPosTop + tlm.rCurY_MM + 2, new RepString(fontProp_Text, "- end of table -")); // print page number and current date/time Double rY = rPosBottom + 1.5; foreach (Page page in enum_Page) { page.AddLT_MM(rPosLeft, rY, new RepString(fontProp_Text, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString())); page.AddRT_MM(rPosRight, rY, new RepString(fontProp_Text, page.iPageNo + " / " + iPageCount)); } }
/// <summary>Creates this report.</summary> /// <remarks> /// This method overrides the method <see cref="Root.Reports.Report.Create"/> of the base class <see cref="Root.Reports.Report"/>. /// </remarks> protected override void Create() { fontDef_Helvetica = new FontDef(this, FontDef.StandardFont.Helvetica); FontProp fontProp_Text = new FontPropMM(fontDef_Helvetica, 1.9); // standard font FontProp fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9); // font of the table header fontProp_Header.bBold = true; // create table TableLayoutManager tlm; using (tlm = new TableLayoutManager(fontProp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table tlm.tlmCellDef_Header.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.tlmCellDef_Default.penProp_LineBottom = new PenProp(this, 0.05, Color.LightGray); // set bottom line for all cells tlm.tlmHeightMode = TlmHeightMode.AdjustLast; tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // define columns TlmColumn col; col = new TlmColumnMM(tlm, "Level", 30); col = new TlmColumnMM(tlm, "Name", 40); col.tlmCellDef_Default.tlmTextMode = TlmTextMode.MultiLine; TlmColumn col_Phone = new TlmColumnMM(tlm, "Email", rPosRight - rPosLeft - tlm.rWidthMM); col_Phone.fontProp_Header = new FontPropMM(fontDef_Helvetica, 1.9, Color.Brown); col_Phone.tlmCellDef_Header.rAlignH = RepObj.rAlignRight; col_Phone.tlmCellDef_Default.rAlignH = RepObj.rAlignRight; BrushProp brushProp_Phone = new BrushProp(this, Color.FromArgb(255, 255, 200)); col_Phone.tlmCellDef_Default.brushProp_Back = brushProp_Phone; // open data set foreach (var user in users) { tlm.NewRow(); switch (user.Level) { case 1: { tlm.Add(0, new RepString(fontProp_Text, Levels.Novice.ToString())); break; } case 2: { tlm.Add(0, new RepString(fontProp_Text, Levels.Intermediate.ToString())); break; } case 3: { tlm.Add(0, new RepString(fontProp_Text, Levels.Advanced.ToString())); break; } } tlm.Add(1, new RepString(fontProp_Text, user.Login)); tlm.Add(2, new RepString(fontProp_Text, user.Email)); } } Double rY = rPosBottom + 1.5; foreach (Page page in enum_Page) { page.AddLT_MM(rPosLeft, rY, new RepString(fontProp_Text, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + " generated by Knowledge Management System")); page.AddRT_MM(rPosRight, rY, new RepString(fontProp_Text, page.iPageNo + " / " + iPageCount)); } }