Merhabalar,
Bu yazımda hakkında Türkçe kaynak bulmanın zor olduğu FastReport.Net raporlama aracından bahsetmeye çalışacağım.
Geçmişte Delphi tarafında çok kullanılan FastReport, .NET tarafında (en azından şu an için) yeterince başarılı olamamış gibi görünüyor. Bunun sebebi -sanırım- Visual Studio IDE içerisine Crystal Report 'un dahil edilmesi ve okullarda da bu raporlama aracı ile ilgili bilgilerin veriliyor olmasıdır.
Bu sebeple, FastReport.Net'i kullanmaya karar verdiğim zaman zorluklar yaşadığımı ve maalesef Türkçe kaynak bulamadığımı da söylemeliyim.
Bu açılıştan sonra dilerseniz örneğimize geçelim.
FastReport.Net 'in Designer aracını açtıktan sonra, ilk olarak raporumuza veri kaynağı eklememiz gereklidir. Bunun için menü üzerinde Veri > Veri Kaynağı Ekle... yolunu izliyoruz. Açılan pencerede yeni bağlantı düğmesine tıklıyoruz. Karşımıza çıkan pencere, Visual Studio IDE üzerinde kod yazmadan veritabanına bağlamamızı sağlayan pencereyle aynı şekilde dizayn edilmiş durumda. Bu yüzden bu safhada, daha önceden tecübesi olan kişiler zorlanmayacaktır.
Kullanacağımız veritabanı bir Access veritabanı olduğu için burada 'Bağlantı Tipi' kısmından 'MS Access Bağlantısı' seçeneğini seçiyoruz ve Veritabanı dosyamızın adresini belirtiyoruz. Örnekteki veritabanımıza herhangi bir şifre koymadığımız için 'Gelişmiş' düğmesine tıklıyoruz ve 'Persist Security Info' kısmını 'True' olarak işaretliyoruz. Kullanıcı Adı ve Şifre kısmını da boş bırakarak geçiyoruz.
Tamam düğmesine bastıktan sonra 'Bağlantı Metni' kısmından veritabanına bağlanmak için kullanılan kodu görebiliriz.
'Sonraki' düğmesine bastıktan sonra karşımıza gelen ekranda bilgilerine erişmek istediğimiz tabloları seçiyoruz. Erişmek istediğimiz bilgiler gruplandırılmış bilgiler olduğu için bu safhada 'SQL sorgusu ekle' düğmesine tıklayarak yeni bir tablo oluşturuyoruz. Örneğimizde tablomuza 'tblBooksWithTypes' ismini verdik. Yazdığımız sorguda şu şekilde:
SELECT T.Type, W.WriterName, B.BookName
FROM tblBooks B, tblBookTypes T, tblWriters W
WHERE B.BookTypeID = T.ID AND W.ID = B.BookWriterID
ORDER BY T.Type ASC, W.WriterName ASC
Sorgumuzu yazdıktan sonraki safhalarda 'Sonraki' ve 'Son' düğmelerine basarak geçiyoruz. Tablo seçim ekranına döndüğümüzde son oluşturduğumuz tabloyu seçip 'Son' düğmesine tıklıyoruz.
Karşınıza aşağıdaki gibi bir ekranın çıkması gerekiyor.
Dilerseniz bu safhada ekranın sağ tarafında bulunan 'Sözlük' kısmı içerisinde görünen tabloya sağ tıkladıktan sonra 'Görünüm' ü seçerek tablo içeriğine bakabilirsiniz.
Gâyemiz kitapları gruplar halinde listelemek olduğu için 'Dosya' menüsünün az altında yer alan 'Band Aracı' na tıklıyoruz ve bu kısımda 'Ekle' düğmesine basıp 'Grup Başlığı'nı seçiyoruz.
Sonrasında ekranımızın sol tarafında 'Grup Başlığı' kısmına sağ tıklıyoruz ve 'Düzenle' menüsünü seçiyoruz. Burada gruplandırma yapmak istediğimiz kolonu seçiyoruz. Örneğimizde kitapları tipine göre gruplandırmak istediğimiz için 'Type' kolonunu seçiyoruz ve 'Tamam' düğmesine tıklıyoruz.
Bu safhadan sonra sayfa üzerinde göstereceğimiz veriler kitap tiplerine göre gruplandırılmış olacaktır.
Şimdide grup isimlerinin görüntülenmesi için sözlük kısmından 'Type' sütununu seçip 'Grup Başlığı' kısmına sürüklüyoruz. Kitap isimlerinin ve yazarlarının da görüntülenmesi için 'BookName' ve 'WriterName' sütunlarını 'Veri' sahasına sürükleyip bırakıyoruz. Buraya sürüklenen verilerle ilgili olarak 'Sayfa Başlığı' kısmında otomatik olarak nesneler oluşturulduğu için burada yeni nesneler oluşturmamıza gerek kalmayacaktır.
Eklememiz gereken verileri ekledikten sonraki kısım tamamen yerleşimle ilgili. Bu yerleşimi kendi tercihlerinize göre yapabilir ve gerekli gördüğünüz nesnelerin metinlerini değiştirebilirsiniz. Ancak burada dikkat edilmesi gereken, tablo içerisinden gelen verilerin gösterilebilmesi için bu metinlerdeki köşeli parantezler içerisinde kalan kısımların silinmemesidir. Ayrıca görünümü özelleştirmek için sol taraftaki menüden istediğiniz nesneleri forma ekleyebilir ve 'Özellikler' başlığından istediğiniz değişiklikleri yapabilirsiniz.
Yaptığım değişiklikler sonrasında dizaynın ve raporun son hâli aşağıdaki gibi oldu.
FastReport.Net ile ilgili bugünkü yazım bu kadar. Daha sonraki yazılarımda FastReport.Net Designer üzerinde 'Raporlama Sihirbazı' nı kullanarak rapor oluşturma ve Visual Studio IDE üzerinde FastReport.Net kullanımından bahsetmeye çalışacağım.
Yaptığımız örnekle ilgili kodları buradan indirebilirsiniz.
Not: Örnek kodun doğru bir şekilde çalışması için zip dosyasının içeriğini C:\ adresine çıkartın.
Tekrar görüşünceye kadar hoşçakalın...