using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Drawing; using System.Data; using FastReport; using FastReport.Data; using FastReport.Dialog; using FastReport.Barcode; using FastReport.Table; using FastReport.Utils; namespace FastReport { public class ReportScript { private void Page1_ManualBuild(object sender, EventArgs e) { bool isMulasztasokUjLapon; Boolean.TryParse(Report.Parameters.FindByName("isMulasztasokUjLapon").Value.ToString(), out isMulasztasokUjLapon); if(isMulasztasokUjLapon) { DataHeader5.StartNewPage = true; } // Tanulók DataSourceBase tanuloAlapadatok = Report.GetDataSource("Tanulok"); DataTanuloAlapadatok.DataSource = tanuloAlapadatok; tanuloAlapadatok.Init(); // Tanulók mulasztésai DataSourceBase DsDataMulasztas = Report.GetDataSource("Mulasztasok"); DataMulasztas.DataSource = DsDataMulasztas; Relation rel3 = new Relation(); rel3.Name = "TanuloMul"; rel3.ParentDataSource = tanuloAlapadatok; rel3.ChildDataSource = DsDataMulasztas; rel3.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel3.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel3); DsDataMulasztas.Init(tanuloAlapadatok); // Tanulók értékelései DataSourceBase DsDataErtekelesek = Report.GetDataSource("Ertekeles"); DataErtekelesek.DataSource = DsDataErtekelesek; DataErtekelesekFolyamatos.DataSource = DsDataErtekelesek; Relation rel2 = new Relation(); rel2.Name = "TanuloErt"; rel2.ParentDataSource = tanuloAlapadatok; rel2.ChildDataSource = DsDataErtekelesek; rel2.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel2.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel2); DsDataErtekelesek.Init(tanuloAlapadatok); bool isEvesOraszamMegjelenjen; Boolean.TryParse(Report.Parameters.FindByName("OraEvesSorszamMegjelenjen").Value.ToString(), out isEvesOraszamMegjelenjen); if(int.Parse(Report.Parameters.FindByName("NyomtatvanyErtekelesMegjelenitesId").Value.ToString()) == 1) { DataErtekelesekFolyamatos.Delete(); } else { DataErtekelesek.Delete(); } if(Report.Parameters.FindByName("AtlagFeltuntet").Value.ToString() == "True") { DataAtlagErtekeles.Visible = true; Cell42.Text = "[TanuloErtekelesAtlag.ErtekelesAtlag]"; DataSourceBase DsDataAtlagErtekelesek = Report.GetDataSource("TanuloErtekelesAtlag"); DataAtlagErtekeles.DataSource = DsDataAtlagErtekelesek; Relation rel02 = new Relation(); rel02.Name = "TanuloAtlagErt"; rel02.ParentDataSource = tanuloAlapadatok; rel02.ChildDataSource = DsDataAtlagErtekelesek; rel02.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel02.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel02); DsDataAtlagErtekelesek.Init(tanuloAlapadatok); } // Tanulók határozatai DataSourceBase DsDataHatarozatok = Report.GetDataSource("FeljegyzesekHatarozatok"); DataHatarozatok.DataSource = DsDataHatarozatok; Relation rel6 = new Relation(); rel6.Name = "TanuloHatatozatok"; rel6.ParentDataSource = tanuloAlapadatok; rel6.ChildDataSource = DsDataHatarozatok; rel6.ParentColumns = new string[] { "tanuloID" }; rel6.ChildColumns = new string[] { "tanuloID" }; Report.Dictionary.Relations.Add(rel6); DsDataHatarozatok.Init(tanuloAlapadatok); int fontSizeDifference = (int)Report.GetParameterValue("FontSizeDifference"); SetChildObjects(DataTanuloAlapadatok.Objects, fontSizeDifference); SetCellsFont(Table5.Rows, fontSizeDifference); SetChildObjects(DataHeader3.Objects, fontSizeDifference); SetCellsFont(Table5F.Rows, fontSizeDifference); SetChildObjects(DataHeader2.Objects, fontSizeDifference); SetCellsFont(Table7.Rows, fontSizeDifference); SetCellsFont(Table6.Rows, fontSizeDifference); SetChildObjects(DataHeader5.Objects, fontSizeDifference); SetChildObjects(DataHatarozatok.Objects, fontSizeDifference); SetChildObjects(DataHeader1.Objects, fontSizeDifference); SetChildObjects(Data9.Objects, fontSizeDifference); string tagintezmenyCim = (string)Report.GetParameterValue("TagintezmenyCim"); if(!string.IsNullOrWhiteSpace(tagintezmenyCim)) { Text126.Text = tagintezmenyCim + Environment.NewLine + "[KeltIdegenNyelv]"; } string alulirottMegnevezese = Report.Parameters.FindByName("AlulirottMegnevezese").Value.ToString(); int index = alulirottMegnevezese.IndexOf(" - "); string nev = alulirottMegnevezese.Substring(0, index).Trim(); string beosztas = alulirottMegnevezese.Substring(index + " - ".Length).Trim(); Text125.Text = nev + "\r\n" + beosztas; } private void SetCellsFont(TableRowCollection rows, int fontSizeDifference) { foreach(TableRow row in rows) { foreach(TableCell cell in row.ChildObjects) { SetTextFont(cell, fontSizeDifference); } } } private void SetChildObjects(ReportComponentCollection collection, int fontSizeDifference) { foreach(ReportComponentBase text in collection) { if (text is TextObject) { SetTextFont((TextObject)text, fontSizeDifference); } } } private void SetTextFont(TextObject text, int fontSizeDifference) { int fontSizeCorrection = ((fontSizeDifference != 0) && (text.Font.Size > 14)) ? 1 : 0; Font font = new Font(text.Font.FontFamily, text.Font.Size - (fontSizeDifference + fontSizeCorrection), text.Font.Style); text.Font = font; } } }