Crystal Report
Crystal Report Visual Studio içinde gömülü gelen bir raporlama aracıdır veritabanından çektiğimiz veya anlık oluşturduğumuz verileri bu araç ile raporlar haline getirerek okunaklı ve düzenli çıktılar alabiliriz..
Uygulama yaptıkça bu araçı daha çok kavrayacak ve kullanım alanlarının nekadar geniş olduğunu anlayacaksınız.
Öncelikle bir web projesi oluşturarak işimize başlıyoruz boş bir web projesi oluşturduktan sonra projemize bir adet içi istediğiniz gibi doldurulmuş bir veritabanı ekliyoruz daha sonra projemizi sağ tıklayarak “add new item” dedikten sonra crystal report u seçerek projemize CrystalReport.rpt adında bir rapor nesnesi ekliyoruz.
NOT : Sizden ilk açtığınızda lisans anlaşmasını kabul etmenizi ister bunun nedeni visual studiodan ayrı bir firma tarafından üretilmiş olmasıdır.

Daha sonra karşımıza bu ekran gelecektir eğer gelmediyse solution explorerdaki CrystalReport.rpt dosyasına çift tıklayarak zorla getirebilirsiniz.
Burada bizden oluşturacağımız raporu nasıl hazırlamak istediğimizi sormaktadır.
İlk seçenek olan Using the report Wizard ı seçersek altta bulunan kısımda bir wizard seçeriz. İkinci seçenek olan As a Blank Report u seçersek bize tamamen boş bir rapor sayfası sunar. Üçüncü seçenek olan From an Existing Report u seçersek de dışarıdan hazır bir rapor sayfasını aklamiş oluruz.
Ben herşeyi görmek açısından As a Blank Report u Seçerek sıfırdan yapıcam isterseniz wizard lada yapabilirsiniz.
OK dedikten sonra Raporumuzu hazırlayacağımız kısım karşımıza gelmekte.
Bu kısım 5 bölümden oluşmakta
Report Header Raporun en başında Rapor Footer ise raporun en sonunda bulunacaktır, Page Header Her sayfanın başında ve her sayfanın sonunda bulunacaktır. Details ise verilerimizi döndirecğimiz asıl kısımdır.

Bu kısım raporumuzda bulunacak verilerin bulunduğu kısımdır;
Database Fields veritabanından çektiğimiz bilgilerin bulunduğu kısım
Sprecial Fields Genel şeylerin yani sayfa numarası tarih vs bulunan kısım Unbound Fields ise veritabanından çekilmeyen bilgilerin bulunduğu kısımdır örneğin bi yazı veya bi tarih anlık üretilen şeylerdir.
Grup Name Fileds ise verilerimizi belli kriterler içinde gruplamak istersek bize yardımcı olacak kısımdır.
Diğer kısımlara girmeyeceğim boşuna kafa karışıklığı olmasın.
Hemen raporumuzu hazırlamaya geçelim Öncelikle “Field Explorer” da buluan Database Fields i sağ tıklayarak Database Expert diyoruz
Karşımıza çıkan Pencerede öncelikle “Creat New Connection” Kutucuğunu açıp daha sonra bağlantı çeşidinize göre gerekli kutucugu açıp bağlantı kurabilirsiniz biz ole db bağlantısı kuracağımız için ole db kutucuğunu açıp “Make New Connection” diyerek bağlantı penceresini açıyoruz buradan ”Microsoft Jet 4.0 OLE DB Provider” ı seçerek ileri diyoruz Bu kısımda Database Name kutucuğunun yanındaki “…” lı buton u tıklayarak veritabanımızı gösteriyoruz gerekli kullanıc adı ve şifreleri girdikten sonra finish diyoruz.
Bağlantımızı kurduk şimdi geldi sıra veritabanımızdaki tabloları seçmeye;
Eklediğimiz veritabanının yanındaki + işaretini tıklayarak veritabanını açıyoruz içindeki tablolardan istediklerimizi sağ tarafa atmak suratiyle ekliyoruz ve OK diyerek işlemi bitiriyoruz.
Sonrasında Database Filed kısmında yer aldığını görüyoruz. Yanındaki + işaretini tıklayarak içindeki sütunları görebiliriz.
Şimdi gelelim asıl olay olan raporumuzu düzenlemeye. Sürükle bırak yöntemiyle raporumuzu istediğimiz şekle getirebiliriz

Ben Hastane rezervasyon sisteimnin veritabanını kullandım bu yüzdende hasta rezarvasyon raporlarını alıyorum.
İlk olarak Report Header kısmını yapmak için Beyaz alana sağ tıklayıp insert kısmından Text Object ekliyoruz içine yazıyı yazdıktan sonra üst kısımda bulunan yazı biçimlendirme kutucuklarıyla büyüklük ve kalınlığıyla oynuyoruz.
Page Header kısmını ise yine aynı şekilde bir adet Text Object atıp yazı yazdıktan sonra büyüklüğüyle oynuyoruz tek farkı yazımızın ortasında tarihte gözüksün diye “Special Fiels” kısmından date date nesnesini tutup yazımızın üstüne getiriyoruz bu sırada yazımızın üstünde imleç beliriyo ve istediğimiz satıra bırakarak yazımızı tamamlıyoruz.
Details kısmını ise yine aynı şekilde bir Text Object ekleyip Database Field dan verilerimizi sürükleyip yazımızın içine uygun yerlere bırakıyoruz. ve yine Database Fields kısmından telefonu bilgisini içine atıyoruz attıktan sonra Page Header kısmında başlığı beliriyor bu değiştirilebilir bi yaz olduğundan istediğimiz gibi değiştirebiliriz örneğin ben İrtibat Telefonu olarak değiştirdim. en altınada bir adet line ekledim bunuda sağ tıklayıp insert kısmından line dediğimizde bir kalem verir bununla çizerek eklemiş oluruz.
Report Footer kısmı ise yine aynı bi Text Object ekleyerek boyutunu küçültüyoruz.
Page Footer ı ise Special Fiels kısmından bir adet page number ekleyerek sayfa sayılarını görebiliriz.
Üstte bulunan GrupHeader ları ise Grup Name Fiels ı sağ tıklayarak “insert group” diyoruz sonrasında gruplama bilgisini ve neye göre gruplayacagına seçerek OK diyoruz veritabanımızdan gelen bilgiler bu şelikde düzenli gruplaya ayrılabilir.
Tasarım kısmını bitirdikten sonra hemen tasarım kısmının altında bulunan “Main Report Preview” tuşuyla çıktı görüntüsüne bakabilirsiniz. bittikten sonra kaydediyoruz.
Peki bunu hazırladık nasıl kullanıcaz hemen Solution Explorerdan Default.aspx imize geliyoruz toolboxımızın Crystal Report bölümünden CrystalReportViewer atıyoruz sonrasında sağ üst kısmındaki oku tıklayarak Chose Report Source tıklayarak New Report Source diyoruz. açılan pencereden oluşturduğumuz crystalreport.rpt dosyamızı seçiyoruz OK dediğimizde işlem bitiyo artık çalıştırıp test ederbiliriz.

Gördüğünüz gibi vertabanındakileri listeledi bunu öncelikle soyadına göre aynı soyaddakileri ise kendi içinde tarihlere göre sıraladı yan tarafta ise direk ulaşım için bir flitre ağacı var burdan tıklayak sadece o kayıtları görebiliriz. bu arada sayfa numarası en altta olduğu için gözükmüyo
Ahmet Enes DABANLIOĞLU - MIWtech YKB