22 Temmuz 2016 Cuma

Jasper Report ve IReport Kullanımı



IReportta SQL Sorgu Yazmak:

IReport içinde tanımlamış olduğunuz SQL sorgusuna göre veritabanından field çeker. Ancak siz bu SQL sorgusunu istediğiniz zaman değiştirerek getirmeyi unuttuğunuz farklı fieldları getirebilir ve ona göre raporunuzu güncelleyebilirsiniz , bunu yapmak için 'Designer' , 'XML', 'Preview' sekmelerinin yanındaki üstüste konmuş diskleri andıran sembole tıkladığınızda SQL editörü çıkmaktadır ve IReporta projesini ilk oluşturduğunuzdaki SQL sorguyu göreceksiniz. İşte o sorguyu her güncellediğinizde projenizi de güncellemiş olursunuz yazacağınız yeni sorgulara göre veritabanından istediğiniz alanları getirerek forma ekleyeblirsiniz.


IReportta SQL'e Bağlı Parametre Kullanımı (Field'a Göre Filtreleme):

IReportta veritabanınızdan gelecek bir alan adına göre filtreleme yapmak isteyebilirsiniz. Mesela veritabanınızdaki öğrenciler tablosundan gelen verileri isme göre öğrencilerin notlarını veya kişisel bilgilerini listelemek isteyebilirsiniz. Bunun için önceki konularda anlattığım gibi parametre oluşturarak oluşturduğumuz parametrenin adını 'ogradi' koyalim, ardından IReporttaki SQL sorgumuzu açarak SELECT  * FROM ogrenci   WHERE ogradi=$P{ogradi} diye güncellediimizde raporu IReporttan her Preview ettiğimizde program bize kayıtları hangi öğrenci adına göre listelemek istediğimizi soracaktır. biz de kimin adını girersek, diyelim ki "Mehmet" girersek sınıftaki tüm Mehmet adındaki öğreincilerin bilgileri raporda listelenecektir.




IReportta Dinamik İmage Ekleme:

İReportta yazdığınız SQL sorgusuna göre bazen rapora eklediğiniz image ların değişken olmasını isteğebilirsiniz. Şöyle ki, SQL sorgunuzda boolean tanımlı fieldları kullanıyor olabilirsiniz. Ve tablodan '1' değeri okunduğunda raporda "ok" işaretli image görünsün, tablodan '0' değeri okunduğunda ise, ya boş gelsin ya da "no" işaretli imagenin görünmesini istiyorsunuz. Bunun IReportta çok basit yolu var: İlk önce IReport programının Report Elements kısmından image nesnesini forma eklemek istediğimiz yere sürükleyerek bırakıyoruz. Zaten bu işlemi yaptığımızda program bize hangi image i yüklemek istediğimize dair bize bir seçim penceresi getiriyor, oradan image i seçiyoruz, ardından seçtiğimiz image nin properties kısmındaki özelliklerden "image expression" özelliği karşısındaki üç noktalı butona tıklıyoruz ve karşımıza gelen pencerede consol gibi yazı yazılan kısma $F{field_adi}.intValue()== 1 ? "ok.png" : "no.png" formülünü ekliyoruz. Burada '0' veya '1' hangi filedtan gelecekse o field in ismini yazıyoruz, daha sonra field benim örneğime göre int olarak tanımlanmış ancak siz field i veritabanında "bool" olarak tanımlamışsanız veri tipini karşıdaki pencereden ona göre ayarlamanız gerekmektedir. yazı yazılan yerde field yeşil renk olduğunda hata yapmamışsınız demektir, field isminin rengi kırmızı ise bir yerde sorun var demektir ya veri tipindedir ya da syntax tadır ona göre kontrol etmeniz gerekmektedir. Ayrıca aşağıdaki pencerelerden field ismi veya veritipine çift tıkladığınızda ya da birini seçerek diğerine çift tıkladığınızda ikisinin de yazı penceresine basıldığını göreceksiniz, yani baştan yazmanıza da gerek yok.



Hiç yorum yok:

Yorum Gönder