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 isVegZaradek = false; Boolean.TryParse(Report.Parameters.FindByName("TantestuletFeljegyzesei").Value.ToString(), out isVegZaradek); bool isPHMegjelenites = true; Boolean.TryParse(Report.Parameters.FindByName("PHMegjelenitese").Value.ToString(), out isPHMegjelenites); Text21.Visible = isPHMegjelenites; string FejlecTextFirstPart = "iskolánk <b>[Tanulok.Osztaly]</b> osztályának tanulója, a <b>[Fejlec.Tanev].</b> tanév"; string IdoszakName=null; string FejlecThirdPart="az alábbiak szerint teljesített:"; string VisszakuldTextFirstPart= "Tisztelt Szülő! Kérem, hogy "; string VisszakuldName=null; string VisszakuldThirdPart= " aláírva visszaküldeni szíveskedjen."; string AlairastextFirstPart= "Aláírásommal igazolom, hogy gyermekem "; string AlairasName=null; string AlairasThirdPart= " értesítőjében szereplő értékeléseket megtekintettem és tudomásul vettem."; string VisszakuldTextFirstPartSajatReszre= "Kérem, hogy "; string VisszakuldThirdPartSajatReszre= " aláírva visszahozni szíveskedjen."; string AlairastextFirstPartSajatReszre= "Aláírásommal igazolom, hogy a(z) "; string AlairasThirdPartSajatReszre= " értesítőben szereplő értékeléseket megtekintettem és tudomásul vettem."; switch(Report.Parameters.FindByName("Idoszak").Value.ToString()) { case "1519": IdoszakName=" első félévében "; VisszakuldName="a(z) félévi értesítőt"; AlairasName="félévi"; TipusText.Text = ErtekelesCell.Text = "Félévi értékelés"; ErtekelesCell.Text = "Félévi értékelései:"; break; case "1520": IdoszakName="ben "; VisszakuldName="a(z) év végi értesítőt"; AlairasName="év végi"; TipusText.Text = ErtekelesCell.Text = "Év végi értékelés"; ErtekelesCell.Text = "Év végi értékelései:"; break; case "1522": IdoszakName=" I. negyedévében "; VisszakuldName="a(z) I. negyedévi értesítőt"; AlairasName="első negyedévi"; TipusText.Text = ErtekelesCell.Text = "I. negyedévi értékelés"; ErtekelesCell.Text = "I. negyedévi értékelései:"; break; case "1524": IdoszakName=" II. negyedévében "; VisszakuldName="a(z) II. negyedévi értesítőt"; AlairasName="második negyedévi"; TipusText.Text = ErtekelesCell.Text = "II. negyedévi értékelés"; ErtekelesCell.Text = "II. negyedévi értékelései:"; break; case "1523": IdoszakName=" III. negyedévében "; VisszakuldName="a(z) III. negyedévi értesítőt"; AlairasName="III. negyedévi"; TipusText.Text = ErtekelesCell.Text = "III. negyedévi értékelés"; ErtekelesCell.Text = "III. negyedévi értékelései:"; break; case "1525": IdoszakName=" IV. negyedévében "; VisszakuldName="a(z) IV. negyedévi értesítőt"; AlairasName="IV. negyedévi"; TipusText.Text = ErtekelesCell.Text = "IV. negyedévi értékelés"; ErtekelesCell.Text = "IV. negyedévi értékelései:"; break; } FejlecText.Text = FejlecTextFirstPart + IdoszakName + FejlecThirdPart; if(Report.Parameters.FindByName("ErtesitesCimzettje").Value.ToString() == "1") { VisszakuldText.Text = VisszakuldTextFirstPart + VisszakuldName + VisszakuldThirdPart; AlairasText.Text = AlairastextFirstPart + AlairasName + AlairasThirdPart; } if(Report.Parameters.FindByName("ErtesitesCimzettje").Value.ToString() == "2") { VisszakuldText.Text = VisszakuldTextFirstPartSajatReszre + VisszakuldName + VisszakuldThirdPartSajatReszre; AlairasText.Text = AlairastextFirstPartSajatReszre + AlairasName + AlairasThirdPartSajatReszre; Text19.Text = "Tanuló aláírása"; } if(isVegZaradek) { DataHeaderVegZaraderk.Visible = true; DataVegZaradek.Visible = true; Cell55.Text = "[IIf([Zaradekok.Bejegyzes] != \"\", [Zaradekok.Bejegyzes] + IIf([IsZaradekDatumVisible], \"\\r\\n\" + [Zaradekok.KeltezesHelye] + \", \" + [Zaradekok.KELTEZESDATUMA], \"\"), \"\")]"; } if(Report.Parameters.FindByName("FelmentesekSzerepeltetese").Value.ToString() == "False") { DataHeader3.Visible = false; dataMentesseg.Visible = false; } // Tanulók DataSourceBase tanuloAlapadatok = Report.GetDataSource("Tanulok"); DataTanuloAlapadatok.DataSource = tanuloAlapadatok; tanuloAlapadatok.Init(); // Tanulók értékelései DataSourceBase DsDataErtekelesek = Report.GetDataSource("Ertekeles"); DataErtekelesek.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) { Table5F.Delete(); if (isEvesOraszamMegjelenjen) { TantargyNevTablazatosCell.Text = "<b>[Ertekeles.TARGY] [IIf([Ertekeles.TantargyId] > 0, \"\\r\\n\" + [Ertekeles.Oraszam] + \" óra:\", \"\")]" + "</b>"; } else { TantargyNevTablazatosCell.Text = "<b>[Ertekeles.TARGY]:</b> "; } } else { Table8.Delete(); if (isEvesOraszamMegjelenjen) { TantargyNevFolytonosCell.Text = "<b>[Ertekeles.TARGY][IIf([Ertekeles.TantargyId] > 0, \" (\" + [Ertekeles.Oraszam] + \" óra)\", \"\")]:</b> [Ertekeles.ErtekelesJegyzettel]"; } else { TantargyNevFolytonosCell.Text = "<b>[Ertekeles.TARGY]: </b>[Ertekeles.ErtekelesJegyzettel]"; } } if(Report.Parameters.FindByName("AtlagFeltuntet").Value.ToString() == "True") { DataAtlagErtekeles.Visible = true; Cell48.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 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 mentességei DataSourceBase DsDataMentesseg = Report.GetDataSource("Mentessegek"); dataMentesseg.DataSource = DsDataMentesseg; Relation rel4 = new Relation(); rel4.Name = "TanuloMen"; rel4.ParentDataSource = tanuloAlapadatok; rel4.ChildDataSource = DsDataMentesseg; rel4.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel4.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel4); DsDataMentesseg.Init(tanuloAlapadatok); // Tanulók bejegyzései DataSourceBase DsDatabejegyzesek = Report.GetDataSource("FeljegyzesekHatarozatok"); DataBejegyzesei.DataSource = DsDatabejegyzesek; Relation rel5 = new Relation(); rel5.Name = "TanuloBej"; rel5.ParentDataSource = tanuloAlapadatok; rel5.ChildDataSource = DsDatabejegyzesek; rel5.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel5.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel5); DsDatabejegyzesek.Init(tanuloAlapadatok); if (isVegZaradek) { // Tanulók végzáradékai DataSourceBase DsDataVegZaradek = Report.GetDataSource("Zaradekok"); DataVegZaradek.DataSource = DsDataVegZaradek; Relation rel6 = new Relation(); rel6.Name = "TanuloVegZaradek"; rel6.ParentDataSource = tanuloAlapadatok; rel6.ChildDataSource = DsDataVegZaradek; rel6.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel6.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel6); DsDataVegZaradek.Init(tanuloAlapadatok); } // Tanulóhoz tartozó összefüggő szakmai gyakorlat DataSourceBase tanuloOsszefuggoSzakmaiGyakorlat = Report.GetDataSource("OsszefuggoSzakmaiGyakorlat"); DataOsszefuggoSzakmaiGyakorlat.DataSource = tanuloOsszefuggoSzakmaiGyakorlat; Relation rel4784 = new Relation(); rel4784.ParentDataSource = tanuloAlapadatok; rel4784.ChildDataSource = tanuloOsszefuggoSzakmaiGyakorlat; rel4784.ParentColumns = new string[] { "tanuloID", "TanuloCsoportId" }; rel4784.ChildColumns = new string[] { "tanuloID", "TanuloCsoportId" }; Report.Dictionary.Relations.Add(rel4784); tanuloOsszefuggoSzakmaiGyakorlat.Init(tanuloAlapadatok); int fontSizeDifference = (int)Report.GetParameterValue("FontSizeDifference"); SetChildObjects(FeleviSzovErtFuzetbe.PageHeader.Objects, fontSizeDifference); SetChildObjects(Data1.Objects, fontSizeDifference); SetCellsFont(Table0.Rows, fontSizeDifference); SetCellsFont(Table5F.Rows, fontSizeDifference); SetCellsFont(Table6.Rows, fontSizeDifference); SetCellsFont(Table7.Rows, fontSizeDifference); SetCellsFont(Table8.Rows, fontSizeDifference); SetCellsFont(Table10.Rows, fontSizeDifference); SetCellsFont(Table11.Rows, fontSizeDifference); SetCellsFont(Table12.Rows, fontSizeDifference); SetCellsFont(Table13.Rows, fontSizeDifference); SetCellsFont(Table14.Rows, fontSizeDifference); SetCellsFont(Table15.Rows, fontSizeDifference); SetCellsFont(Table16.Rows, fontSizeDifference); SetCellsFont(Table17.Rows, fontSizeDifference); SetCellsFont(Atlag.Rows, fontSizeDifference); SetChildObjects(Data7.Objects, fontSizeDifference); string tagintezmenyCim = (string)Report.GetParameterValue("TagintezmenyCim"); if(!string.IsNullOrWhiteSpace(tagintezmenyCim)) { Text24.Text = tagintezmenyCim + Environment.NewLine + "[Kelt]"; } } 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; } } }