using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Text.RegularExpressions; 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) { // Tanulók DataSourceBase tanuloAlapadatok = Report.GetDataSource("TanuloAlapAdatok"); DataTanuloAlapadatok.DataSource = tanuloAlapadatok; tanuloAlapadatok.Init(); // Tanulók elérhetőségei DataSourceBase tanuloElerhetosegei = Report.GetDataSource("TanuloElerhetosegei"); DataTanuloElerhetosegei.DataSource = tanuloElerhetosegei; Relation rel2 = new Relation(); rel2.Name = "TanuloEler"; rel2.ParentDataSource = tanuloAlapadatok; rel2.ChildDataSource = tanuloElerhetosegei; rel2.ParentColumns = new string[] { "tanuloID" }; rel2.ChildColumns = new string[] { "tanuloID" }; Report.Dictionary.Relations.Add(rel2); tanuloElerhetosegei.Init(tanuloAlapadatok); // Tanulók gondviselői DataSourceBase tanuloGonviselokAdatai = Report.GetDataSource("TanuloGonviselokAdatai"); DataTanuloGondviselo.DataSource = tanuloGonviselokAdatai; Relation rel3 = new Relation(); rel3.Name = "TanuloGondviselo"; rel3.ParentDataSource = tanuloAlapadatok; rel3.ChildDataSource = tanuloGonviselokAdatai; rel3.ParentColumns = new string[] { "tanuloID" }; rel3.ChildColumns = new string[] { "tanuloID" }; Report.Dictionary.Relations.Add(rel3); tanuloGonviselokAdatai.Init(tanuloAlapadatok); // Tanulóhoz tartozó határozatok DataSourceBase tanuloHatarozatok = Report.GetDataSource("TanuloHatarozatok"); DataTanuloHatarozatok.DataSource = tanuloHatarozatok; Relation rel4 = new Relation(); rel4.Name = "TanuloHatarozatok"; rel4.ParentDataSource = tanuloAlapadatok; rel4.ChildDataSource = tanuloHatarozatok; rel4.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel4.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel4); tanuloHatarozatok.Init(tanuloAlapadatok); // Tanuló felmentései DataSourceBase tanuloFelmentesek = Report.GetDataSource("TanuloMentessegei"); DataTanuloFelmentesek.DataSource = tanuloFelmentesek; Relation rel16 = new Relation(); rel16.Name = "TanuloMentessegei"; rel16.ParentDataSource = tanuloAlapadatok; rel16.ChildDataSource = tanuloFelmentesek; rel16.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel16.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel16); tanuloFelmentesek.Init(tanuloAlapadatok); // Tanuló feljegyzesei DataSourceBase tanuloFeljegyzesei = Report.GetDataSource("FeljegyzesekATanulorol"); DataFeljegyzesekATanulorol.DataSource = tanuloFeljegyzesei; Relation rel17 = new Relation(); rel17.Name = "FeljegyzesekATanulorol"; rel17.ParentDataSource = tanuloAlapadatok; rel17.ChildDataSource = tanuloFeljegyzesei; rel17.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel17.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel17); tanuloFeljegyzesei.Init(tanuloAlapadatok); // Tanuló záradékai DataSourceBase tanuloZaradekai = Report.GetDataSource("TanuloZaradek"); DataZaradek.DataSource = tanuloZaradekai; Relation rel19 = new Relation(); rel19.Name = "TanuloZaradek"; rel19.ParentDataSource = tanuloAlapadatok; rel19.ChildDataSource = tanuloZaradekai; rel19.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel19.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel19); tanuloZaradekai.Init(tanuloAlapadatok); // Tanuló szöveges értékelések DataSourceBase tanuloSzoveges = Report.GetDataSource("TanuloSzoveges"); Data10.DataSource = tanuloSzoveges; Relation rel172 = new Relation(); rel172.Name = "TanuloSzoveges"; rel172.ParentDataSource = tanuloAlapadatok; rel172.ChildDataSource = tanuloSzoveges; rel172.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel172.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel172); tanuloSzoveges.Init(tanuloAlapadatok); // Tanuló mulasztott órái DataSourceBase tanuloMulasztasai = Report.GetDataSource("TanuloMulasztasai"); bool isElmeletGykorlat; Boolean.TryParse(Report.Parameters.FindByName("ElmeletGyakorlat").Value.ToString(), out isElmeletGykorlat); if (isElmeletGykorlat) { DataMulasztottorakReszletes.DataSource = tanuloMulasztasai; DataTanuloMulasztottOrak.Delete(); } else { DataTanuloMulasztottOrak.DataSource = tanuloMulasztasai; DataMulasztottorakReszletes.Delete(); } Relation rel5 = new Relation(); rel5.Name = "TanuloMulasztasai"; rel5.ParentDataSource = tanuloAlapadatok; rel5.ChildDataSource = tanuloMulasztasai; rel5.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel5.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel5); tanuloMulasztasai.Init(tanuloAlapadatok); // Tanulóhoz tartozó értékelések DataSourceBase tanuloErtekelesek = Report.GetDataSource("TanuloTantargyiErtekelesei"); DataTanuloErtekeleseiElso.DataSource = tanuloErtekelesek; DataTanuloErtekeleseiMasodik.DataSource = tanuloErtekelesek; Relation rel47 = new Relation(); rel47.Name = "TanuloErtekelesek"; rel47.ParentDataSource = tanuloAlapadatok; rel47.ChildDataSource = tanuloErtekelesek; rel47.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel47.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel47); tanuloErtekelesek.Init(tanuloAlapadatok); // Tanulóhoz tartozó közösségi szolgálat DataSourceBase tanuloKozossegiSzolgalat = Report.GetDataSource("TanuloKozossegiSzolgalat"); DataTanuloKozossegiSz.DataSource = tanuloKozossegiSzolgalat; Relation rel478 = new Relation(); rel478.Name = "TanuloKozossegiSz"; rel478.ParentDataSource = tanuloAlapadatok; rel478.ChildDataSource = tanuloKozossegiSzolgalat; rel478.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel478.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel478); tanuloKozossegiSzolgalat.Init(tanuloAlapadatok); // Tanulóhoz tartozó hetirendek DataSourceBase tanuloHetirend = Report.GetDataSource("TanuloHetirend"); DataTanuloHetirend.DataSource = tanuloHetirend; Relation rel4781 = new Relation(); rel4781.ParentDataSource = tanuloAlapadatok; rel4781.ChildDataSource = tanuloHetirend; rel4781.ParentColumns = new string[] { "tanuloID" }; rel4781.ChildColumns = new string[] { "tanuloID" }; Report.Dictionary.Relations.Add(rel4781); tanuloHetirend.Init(tanuloAlapadatok); // Tanulóhoz tartozó hetirendek DataSourceBase tanuloOrarend = Report.GetDataSource("Orarend"); DataOrarend.DataSource = tanuloOrarend; Relation rel4782 = new Relation(); rel4782.ParentDataSource = tanuloHetirend; rel4782.ChildDataSource = tanuloOrarend; rel4782.ParentColumns = new string[] { "tanuloID", "Hetirend" }; rel4782.ChildColumns = new string[] { "tanuloID", "Hetirend" }; Report.Dictionary.Relations.Add(rel4782); tanuloOrarend.Init(tanuloHetirend); // Tanulóhoz tartozó tanárok, tantárgyak DataSourceBase tanuloTanarok = Report.GetDataSource("Tanarok"); DataTanarok.DataSource = tanuloTanarok; Relation rel4783 = new Relation(); rel4783.ParentDataSource = tanuloAlapadatok; rel4783.ChildDataSource = tanuloTanarok; rel4783.ParentColumns = new string[] { "tanuloID" }; rel4783.ChildColumns = new string[] { "tanuloID" }; Report.Dictionary.Relations.Add(rel4783); tanuloTanarok.Init(tanuloAlapadatok); // Tanulóhoz értékeléseihez tartozó megjegyzések 1 félév DataSourceBase tanuloErtekeleseihezTartozoMegjegyzes1Felev = Report.GetDataSource("ErtekelesFeljegyzesei1Felev"); DataErtekelesMegjegyzes1Felev.DataSource = tanuloErtekeleseihezTartozoMegjegyzes1Felev; Relation rel47810 = new Relation(); rel47810.ParentDataSource = tanuloAlapadatok; rel47810.ChildDataSource = tanuloErtekeleseihezTartozoMegjegyzes1Felev; rel47810.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel47810.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel47810); tanuloErtekeleseihezTartozoMegjegyzes1Felev.Init(tanuloAlapadatok); // Tanulóhoz értékeléseihez tartozó megjegyzések 2. félév DataSourceBase tanuloErtekeleseihezTartozoMegjegyzes2Felev = Report.GetDataSource("ErtekelesFeljegyzesei2Felev"); DataErtekelesMegjegyzes2Felev.DataSource = tanuloErtekeleseihezTartozoMegjegyzes2Felev; Relation rel4780 = new Relation(); rel4780.ParentDataSource = tanuloAlapadatok; rel4780.ChildDataSource = tanuloErtekeleseihezTartozoMegjegyzes2Felev; rel4780.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel4780.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel4780); tanuloErtekeleseihezTartozoMegjegyzes2Felev.Init(tanuloAlapadatok); bool vanSzombatinap = (bool)Report.GetParameterValue("SzombatiNap"); if (vanSzombatinap){ OrarendFejlecPentek.Delete(); OrarendPentek.Delete(); } else { OrarendFejlecSzombat.Delete(); OrarendSzombat.Delete(); } } private void SzovegesDataTable_ManualBuild(object sender, EventArgs e) { string ertekeles = Report.GetColumnValue("TanuloSzoveges.Ertekeles").ToString(); string[] darabok = ertekeles.Split("|".ToCharArray()); Cell610.RowSpan = darabok.Length; Cell612.RowSpan = darabok.Length; Cell613.RowSpan = darabok.Length; for (int i = 0; i < darabok.Length; i++) { SzovegesDataTable.PrintRow(0); SzovegesDataTable.PrintColumn(0); SzovegesDataTable.PrintColumn(1); SzovegesDataTable.PrintColumn(2); Match match = Regex.Match(darabok[i], "^sz\\<sup\\>\\d+\\</sup\\> +", RegexOptions.None); if (match.Success) { Cell100067.Text = darabok[i].Substring(0, match.Length); Cell100067.ColSpan = 1; Cell100067.Border.Lines = BorderLines.Left; Cell652.Border.Lines = BorderLines.Right; if (i == 0) { Cell100067.Border.Lines |= BorderLines.Top; Cell652.Border.Lines |= BorderLines.Top; } if (i == (darabok.Length - 1)) { Cell100067.Border.Lines |= BorderLines.Bottom; Cell652.Border.Lines |= BorderLines.Bottom; } Cell652.Text = darabok[i].Substring(match.Length); } else { Cell100067.Text = darabok[i]; Cell100067.ColSpan = 2; Cell100067.Border.Lines = BorderLines.All; Cell652.Text = ""; Cell652.Border.Lines = BorderLines.None; } SzovegesDataTable.PrintColumn(3); SzovegesDataTable.PrintColumn(4); } } } }