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);
}
}
}
}