ben

OMÜ , Bilgisayar Mühendisliği, 13'

25 Ocak 2013 Cuma

Windows Form CrystalReport

    Cyrstal Report , verilerin raporlanması için kullanılan yöntemdir. Veri tabanımızdan gelen verilerin gösterilmesi yada rapor halınde yazdırılması için bir cok yöntem mevcut fakat ben cyrstal report üzerinden anlatmaya calışacağım. cyrstal report vs2008 de yuklu şekilde gelirken vs2010 da gelmemektedir. bu nedenle bilgisayarımıza cyrstalreport programını kurmamız gerekmekte. programa buradan ulaşailirsiniz. Projemizin referance kısmına ise aşağıdaki kütüphaneleri eklememiz gerekmektedir.

    *CrystalDecisions.CrystalReports.Engine.dll
    *CrystalDecisions.ReportSource.dll
    *CrystalDecisions.Shared.dll
    *CrystalDecisions.Windows.Forms.dll

Kütüphanelere de buradan ulaşabilirisiniz.

    Bir Windows Forms Application oluşturalım. Ve Solution Explorer penceresinden Projemize sağ tıklayarak Add>New Item'ı tıklayalım. Gelen pencereden, soldaki listede Reporting sekmesini bulalım.Sağ tarafta gelecek olan rapor seçenekleri üzerinden Crystal Report'u seçerek projemize bir rapor nesnesi ekleyelim. İsmi rapor.rpt olsun.

    Örnek olarak aşağıdaki formu düzenledim ve girilen parametrelere göre rapor olusturmasını istiyorum.
button1 in click eventine aşağıdaki kodları yazalım:

//Bütün parametreleri bir arada toplayacağımız parametreAlanları nesnesi.
ParameterFields pfs = new ParameterFields();
//Crystal Report'a göndermek istediğimiz parametre alanları
ParameterField ad = new ParameterField();
ParameterField soyad = new ParameterField();
ParameterField okul = new ParameterField();
ParameterField bolum = new ParameterField();
//parametre nesnelerine atayacağımız değer nesneleri
ParameterDiscreteValue d1 = new ParameterDiscreteValue();
ParameterDiscreteValue d2 = new ParameterDiscreteValue();
ParameterDiscreteValue d3 = new ParameterDiscreteValue();
ParameterDiscreteValue d4 = new ParameterDiscreteValue();
//parametre alanları ile Crystal Report'ta oluşturacağımız parametreleri eşleştiriyoruz. buraya verdiğimiz isimlerin aynısını cyrstalreporttada aynı tanımlanacak
ad.ParameterFieldName = "ad";
soyad.ParameterFieldName = "soyad";
telefon.ParameterFieldName = "okul";
dogumTarihi.ParameterFieldName = "bolum";
//Değer nesnelerimize , formdaki değerleri atıyoruz
d1.Value = txtAd.Text;
d2.Value = txtSoyad.Text;
d3.Value = txtOkul.Text;
d4.Value = txtBolum.Text;
//Parametre alanlarına ise veri ile doldurduğumuz değer nesnelerimizi atıyoruz.
ad.CurrentValues.Add(d1);
soyad.CurrentValues.Add(d2);
okul.CurrentValues.Add(d3);
bolum.CurrentValues.Add(d4);
//Parametrelerimizi, Parametreleri bir arada toplayacak olan pfs değişkenine ekliyoruz.
pfs.Add(ad);
pfs.Add(soyad);
pfs.Add(okul);
pfs.Add(bolum);
//Raporları göstereceğimizi ikinci formumuzu oluşturuyor ve gösteriyoruz.
raporForm frm = new raporForm();
frm.Show();




//Oluşturduğumuz form üzerindeki CrystalReportViewer nesnesinin parametre bilgisi
// değerine oluşturduğumuz parametreleri gösteriyoruz.
frm.crGoster.ParameterFieldInfo = pfs;
//Rapor gösterecek olan formdaki CrystalReportViewer(crGoster) nesnemize rapor kaynağını gösteriyoruz.
frm.crGoster.ReportSource =frm;

      Kodların sonuna dogru kullandığımız raporForm formunu projeye yeni bir form olarak ekledik . daha sonra raporu gösterecek olan CrystalReportViewer nesnesini Tools penceresinden ekledik.Bu nesnenin özelliklerinden Modifiers'i public , name 'i crGoster olarak ayarladık. Modifiers'i public yapmamızın nedeni ana formumuzdan CrystalReportViewer nesnesineerişebilmek içindir.
     Son işlem olarak Projemize eklediğimiz rapor.rpt dosyasını açalım ve tasarım ekranına parametrelerimizi ekleyelim. Bunun için; Field Explorer penceresindeki Parameter Fields sekmesine sağ tıklayıp New seçeneğini tıklayarak parametre ekleme penceresine gelelim.
   Gelen pencerede Name kısmına Parametre adımızı yazalım. Kodlama kısmında Örneğin ad.ParameterFieldName="ad" için tırnak arasında yazdığımız değer bizim parametre adımızdı. Bu sebepten name kısmına ad yazıyoruz. Bütün ekleyeceğiz parametreler için bu işlemi gerçeklekleştirdikten sonra kalan işlem sadece rapor tasarımı işlemidir.Oluşturduğumuz parametreleri (Parameter Fields altında oluşturduğumuz parametre değişkenleri listelendi) sürükle bırak tekniği ile rapor tasarım ekranına sürükleyelim. Sürükleyeceğimiz yer Raporun Details kısmıdır.

     Projeyi çalıştırdığımızda raporlama sayfası karsımıza gelir.

     Wpf de Cyrstal Report için şu sayfaya bakın.




Hiç yorum yok: