Makale Özeti

Günümüzdeki uygulamaların birçogu veritabanı kullanılmasını gerektiren, çok fazla verinin kullanıldığı programlardır. Bu verilerin görüntülenmesi, bir sonuç raporu olusturulması, veriye uygun grafik çizdirilmesi hiç süphesizki, uygulamanın temel taşlarından, olmazsa olmazlarından birisidir.

Makale

Visual Basic.Net ile Raporlama 
--Crystal Reports--

Günümüzdeki uygulamaların birçogu veritabanı kullanılmasını gerektiren, çok fazla verinin kullanıldığı programlardır. Bu verilerin görüntülenmesi, bir sonuç raporu olusturulması, veriye uygun grafik çizdirilmesi hiç süphesizki, uygulamanın temel taşlarından, olmazsa olmazlarından birisidir.

Basit bir sekilde, temel form elemanlarını (Button, TextBox, ListBox vs.) kullanarak veriler sorgular kullanılarak değişik yöntemlerle formlarda görüntülenip rapor sunulabilir.. Fakat profesyonel bir programda uzman bir raporlama sistemi, istenen ilk bileşendir.

Crystal Reports For Visual Studio.Net, Visual Studio.Net ile birlikte gelmektedir. Bu bileşen Visual Studio.Net in kurulum paketi içerisinde yer almaktadır. Bu program tamamen Visual Studio.Net ile beraber tümlesik olarak çalışır.

Crystal Reports ile raporlamanin pek çok faydasi vardir. Crystal Reports For Visual Studio.Net ile;

  • Hızlı rapor oluşturulabilir.
  • Normal raporlardan karmaşık raporlara kadar tüm raporlar oluşturulabilir.
  • Raporların Web desteği oldugundan dolayı Web uygulamalarında da sorunsuz kullanılabilir.
  • Veriler hem grafik hem de düz tablo biçiminde gösterilebilir. 
  • Olusturulan raporlar porgramlama destegi ile .PDF, .DOC, .XLS ve .RTF formatlarına export edilebilir.

Bu bileşenin kullanımına yönelik bir örnek yapılarak bu bileşen hakkında daha fazla bilgi edilebilir.

Örnek Uygulama

Bu örnekte; ADO.NET Datasetleri kullanarak rapor olusturma yapılacaktır.

Crystal Reports ADO.NET datasetlerine erişim sağlayarak rapor olusturmayı destekler. Datasetler bir çok kaynaktan oluşturulabilir. Bu kaynak ne olursa olsun bir rapor olusturmadan önce dataset nesnesi olusturulması gerekir.

Verinin bir rapor içinde görüntülenebilmesi için;

  • Dataset nesnesine veriyi yükleme,
  • Report Enginee bu dataseti kaynak olarak gösterme ve 
  • Bu rapor nesnesini uygun olan web veya Windows form viewera bind etme

islemleri sırayla uygulanmalıdır..

Bu örnek çalışmada Crystal Report kullanarak SQL Server in örnek veritabanı NortWind ile Visual Studio.NET te nasil rapor olusturulacagi görülecektir.

Bunun için öncelikle bir Windows Form olusturmak gerekir. Daha sonra bu form içinde yer alacak olan ADO.NET bileşenleri bu forma eklenmelidir. Bunun için Forma bir SqlConnection bir SqlDataAdapter ve bir DataSet eklenir. Bu örnekte ADO.NET nesneleri tablo olarak olarak NortWind veritabanının Customers Tablosunu kullanacaktir.

 Daha sonra form üzerine Sekil 1 de gösterildiği gibi bir adet Button ve bir adet CrystalReportViewer nesnesi eklenir.

       Şekil 1       Örnek Ekran Dizaynı


Daha sonra forma Crystal Report nesnesi eklenir. Bu eklenecek nesne daha sonra CrystalReportsView kontrolüyle ilişkilendirilecektir ve Raporu Aç Buttonuna basınca veriler DataSet nesnesinden alınıp görüntülenecektir.

Yeni bir Crystal Report eklemek için Project Menüsünden Add New Item seçenegi seçilir. Açilan Diyalog kutusundan Crystal Report seçilir ve Open Buttonuna basılır.(Şekil 2a)

       Şekil 2a      Add New Item Ekranindan Uygulamaya Crystal Report Ekleme


Bu işlemden sonra Crystal Report Gallery diyalog kutusu açılır(Eğer daha önce Crystal Report a register olunmadıysa bu arada Registiration diyalog ekranı da programcının karşısına çıkabilir) (Şekil 2b). Bu açılan ekrandan Using the Report Expert seçilir. Choose an Expert bölümünden Standart seçenegini seçilir.

       Şekil 2b      Crystal Report Gallery


Standart Report Expert diyalog kutusu açılır. Bu ekrandan Project Data | ADO.NET Datasetsaçılır.Customer Tablosu seçilerek Insert Table yapılır(Şekil 2c1).

       Şekil 2c1     Crystal Report Gallery - Data Sekmesi


Bir sonraki sekme ise Field sekmesidir. Burada seçilen Tablo içindeki alanlardan hangilerinin rapor içinde yer alınacağı belirlenir.  Bu sekmede;  Available Fields altında CustomerName alanı seçilir ve Add e basılır. Benzer şekilde Country alanı da eklenir(Şekil 2c2).

       Şekil 2c2     Crystal Report Gallery - Fields Sekmesi 


Group sekmesinde gruplandırılacak alanlar seçilir. Gruplandırmada bir veya daha fazla alan yer alabilir. Pencerede bulunan Browse Data seçeneği ile seçili Tablo içindeki sütun verilerine göz atılabilir. SortOrder ile seçilen grupların nasıl sıralanacağı belirlenir. Bu Sekmede;Country Seçeneği seçilerek Raporlamanın Ulkeye göre sıralanması isteniyor(Şekil 2c3)

       Şekil 2c3     Crystal Report Gallery - Group Sekmesi


Total sekmesinde sayısal içerikli alanların otomatik olarak toplamı ya da ortalaması alinabilir. Örnekte sayısal içerikli veriler olmadigi için bu kisim boş geçiliyor.

Chart sekmesiyle rapora grafik eklenir. Eger raporda bir grafigin görünmesi de isteniyorsa bu kisimdan bir grafik seçilebilir. Bu kısım da kendi içinde üç sekmeden oluşur:

  • Type
  • Data
  • Text

Type kısmında kullanılacak olan grafiğin tipi seçilir.

Data kısmında grafiğin sadece bir rapor  için mi yoksa her kayıt için mi kullanılacağı belirlenir. Ayrıca grafiğin konumu da buradan ayarlanır. Grafik ya raporun üst kısmında (Header) ya da alt kısmında (Footer) yer alacaktır.

Text kısmında ise grafikte kullanılacak metin biçimleri belirlenir(Şekil 2c4).


       Şekil 2c4     Crystal Report Gallery - Chart Sekmesi


Select sekmesinde rapordaki alt verilere bağlı olarak süzme işlemi gerçekleştirilir. Bu sekme de kullanılmak zorunda olmayan bir sekmedir.

Sonraki ve son sekme ise Style sekmesidir. Bu sekmede raporun başlığı ve rapor biçimi ayarlanır(Sekil 2c5).


       Şekil 2c5     Crystal Report Gallery - Style Sekmesi


 

Finish Buttonuna basıp Crystal Report Designerın CrystalRepors1.rpt isimli dosyasının görüntülenmesi sağlanır.

Böylece bir standart Crystal Report dökümanı oluşturuldu. Bu dökümanı koda bağlamak için Raporu Aç isimli Buttonun Click olayına Şekil 9.11 deki kodlar yazılır.

Private Sub Button1_Click(ByVal sender As System.Object,  ByVal e As System.EventArgs) Handles Button1.Click

       SqlDataAdapter1.Fill(Dataset11)

       Dim oRpt As New CrystalReport1

       oRpt.SetDataSource(Dataset11)

       CrystalReportViewer1.ReportSource = oRpt

End Sub

 

       Şekil 3       Raporu Aç Buttonunun Click Olayı

Şekil 3 içindeki kod bloğunda yer alan kodlarda önce DataSet doldurulur. Sonra oluşturulan CrystalReport1 sınıfı oRpt değişkenine bir kopyasını verir  ve değişkenin SetDataSource özelliğine doldurulan DataSet atanır. Son olarak da CrystalReportViewer nesnesinin ReportSource özelliğine oRpt değişkeni eklenir. Böylece ekranda rapor görüntülenir(Şekil 4).  

 

       Şekil 4       Örnek Uygulamanın Örnek Ekran Çıktı Görünümü

Bu yazıda amaç, günümüzde sıkça kullanılan raporlama işleminin .Net ortamında Crystal Reports ile nasıl yapılacağına ilişkin bir fikir sunmaktı. Bunun için önce Crystal  Reports bileşeni tanıtıldı, bu bileşenle yapılabilecekler sıralandı ve örnek bir uygulama ile bu bileşenin .Net ortamında nasıl kullanılacağına lişkin bilgi verildi.

Başka yazılarla görüşmek üzere...

kadirerdogan@hotmail.com