Devexpress XtraReport Classlarını Birlestirme
Oncelikli olarak
SingletonDesing Classımızı oluşturuyoruz.
public class SingletonDesing
{
private static SingletonDesing nesne = new SingletonDesing();
private SingletonDesing()
{
}
public static SingletonDesing Nesne { get
{ return nesne; } }
private ReportClass
_report;
public ReportClass
Report
{
get {
if(_report ==null)
_report = new ReportClass();
return _report;
}
set { _report = value;
}
}
}
Devexpressin ExtraReport classlarını birleştirmek için
ReportClassımızı oluşturuyoruz.Ben Bu projede 3 tane XtraReport classı oluşturdum.
XtraReport3 den oluşturulan report nesnesi diğer iki
classı birleştirmek için kullanıyoruz.
public class ReportClass
{
XtraReport3 report;
public ReportClass()
{
CreateReport();
}
public void CreateReport()
{
report = new XtraReport3();
report.CreateDocument();
report.PrintingSystem.ContinuousPageNumbering = true;
}
public void
ReportAdd(XtraReport rpt)
{
if (rpt != null)
{
rpt.CreateDocument();
report.Pages.AddRange(rpt.Pages);
}
}
public void Print()
{
report.ShowPreviewDialog();
}
}
Bu Classları olusturduktan sonar MainFormumu
tasarladım.
Formun kaynak Kodu :
public partial class Form1 : Form
{
SingletonDesing nesne;
public Form1()
{
InitializeComponent();
nesne = SingletonDesing.Nesne;
}
private void
Report1Add_Click(object sender, EventArgs e)
{
XtraReport1 report1 = new
XtraReport1();
nesne.Report.ReportAdd(report1);
}
private void
Report2Add_Click(object sender, EventArgs e)
{
XtraReport2 report2 = new
XtraReport2();
nesne.Report.ReportAdd(report2);
}
private void
PrintButton_Click(object sender, EventArgs e)
{
nesne.Report.Print();
}
}
Yorumlar
Yorum Gönder