|
.NET Ortamında "Crystal Report" ile Raporlamaya Giriş 2 |
|
Gönderiliyor lütfen bekleyin... |
|
|
Makalemizin ikinci
bölümünde Crystal Reportun kendi özelliklerinden birkaç tanesini
inceleyeceğiz.Anlaşılır olması için bol resimli ve örnekli olmasının sizler için
daha yararlı olacağını düşündüm.İlk olarak editörümüzün sağ tarafındaki Fields
Explorer da bulunan nesneleri inceleyelim.Bunlar:
Formula Fields: Rapor tasarlanırken
genellikle elimizde olan veriler sonucu oluşan bilgi yada bilgileri
göstermek için kullanır.
Parameter Fields:
Program çalıştıktan sonra dışarıdan veri almak
için kullanılır.
Grup Name Fields :Raporlamada
elimizdeki verileri gruplandırmak için kullanılır.
Running Total Fields : Matematiksel
işlemleri yapmak için kullanılır.
Special Fields :Daha çok
Crystal Reportun bize hazır olarak sunduğu verilerdir.
Unbound Fields:Raporu hazırlarken
sabit olarak vereceğimiz bilgiler için kullanılır.
Örneklerimizde kullanacağımız tablo
veritabanında şöyle olsun:
Şekil 1 -
Personel tablosunun yapısı
Bundan sonraki adımların bir ksımını daha önceki
makalemizde anlatmıştım.O yüzden rapor sayfasının, dataset nesnesini ve rapor
sayfasına tablo eklenmesi gibi olayları bu makalede anlatmayıp direk nesnelerin
kullanımına geçeceğim.O yüzden ilk makaleyi okumayan arkadaşların
öncelikle onu okumaları anlaşılır olması için daha iyi olacaktır.Okumak için tıklayınız.
Field Explorer >> Formula Fields’ın
üzeini sağ tıklayalım.Karşımıza çıkan ekran Crystal Report’un
formülleri oluştururken bize sunmuş olduğu editördür.İlk kısım rapora
eklenmiş tabloların alanları ve bizim eklemiş olduğumuz alanlar yani
Report Fields ,ortadaki alan Functions ve diğer alanda Operators’
lardir. Ayrıca Crystal Report formül oluştururken kendi editöründe bize
iki farklı dil seçeneği sunar.Bunlardan bir tanesi Cryslat Syntax yani kendi
kullanmış olduğu sözdizimi(syntax)ve diğeri de Basic Syntax bu da bildiğimiz Visula Basic’ğin
sözdizimine çok benzemektedir.Kullanım seçeneği size kalmış.Fonksiyon yada
operatörleri kullanırken dil kurallarına uymak zorundasınız.Eğer uymazsanız
editör sizi uyarır ve hata mesajı üretir.
Şekil 2 - Formüla Fields
editörü
Formula Fields a
basit bir örnek verelim.Veritabanımızda cinsiyet alanını kadın ="1" , erkek="0"
olarak kaydettiğimizi varsayalım.Ve raporumuzda Kadın veya Erkek olarak görmek
istersek aşağıdaki şekilde bir formül oluşturmamız gerekir.
Şekil 3 - Formüla Fields örnek 1 string
oluşturma
İkinci bir örnek de kadın sayısını bulan formülümüz.Bunda kullanmış olduğum dil
Crystal Report’un kendi dili olan Crystal Syntax ile yapalım.
Şekil 4 - Crystal Syntax ile formül
hazırlama
Aynı örneği erkek sayısı olarak editörün diğer dili olan Basic Syntax ile
yapılım. Böylelikle aradaki farkı daha rahat anlayabilirsiniz.
Şekil 5 - Basic Syntax ile formül
hazırlama
Raporlamada
sık sık kulanıdğımız matematiksel işlemler anlatmaya gelelim.Bunuda kadın yada
erkek sayısının toplamını elde erederek örnekleyebiliriz.Crystal Report bize
matematiksel işlemler çok farklı şekillerde kullanabilme olasılığını
sunar.Örneğin mausemuzu sağ tıkayıp Insert >> Grand Tolat deyip
yapabiliriz.Yada Running Total Fields ile de işlem yapacağımız
alanı örneğin ErkekSayisi ve işlem şeklimizi seçerek te istediğimiz
sonucu elde edebiliriz.
Şekil 6 - Running Tolat Fields’ a
örnek.
Şekil 7 - Grand Total Fields ’ a
örnek
Elimizdeki
tablodan gelen alanlar ve kendi oluşturduğumuz alanlar ile bir tasarım
yapalım.Bu rapor bir personel listesi olabilir.Listemiz personelin
özlük bilgileri ve toplam erkek ve kadın sayısını raporlasın.Sum of @
KadinSayisi Grand Total Fields kullanılarak,#ErkekSayisi da Running Total
Fields kullanılarak oluşturuldu.İkisi de aynı işlemi yapmaktadır.
Şekil 8- İlk raporumuz personel
listesi
Ayrıca Crystal Report ta
fields , alan yada oluşturduğumuz parametreye göre gruplandırma yapan
yada görsel olarak raporumu şekillendirmeye yardımcı olan araçlar da
bolca mevcut.Örneğin gruplandırma; rapor sayfasının üzerine sağ
tıklayıp Insert >> Group diyerek oluşturabiliriz.
Şekil 9 - Guplama
Grupladırma
için de bir tane rapor sayfası ekleyelim.Bu raporumuz da cinsiyete göre
gruplandırsın.
Şekil 10 - İkinci rapor:Gruplama
Evet artık raporlarımızı çalıştıralım.Bunun için biri bağlantı
diğeri de raporda kullandığım tabloyu veri ile dolduracak fonksiyon.
private
void Form1_Load(object sender, System.EventArgs e)
{
string SQL ="SELECT * FROM PERSONEL";
DataTable myTable = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(SQL,Baglantim());
da.Fill(myTable);
DsRapor myDataset = new DsRapor();
for(int i = 0; i< myTable.Rows.Count ;i++)
{
myDataset.Personel.AddPersonelRow(
Convert.ToString(myTable.Rows[i]["Adi"]),
Convert.ToString(myTable.Rows[i]["Soyadi"]),
Convert.ToString(myTable.Rows[i]["Cinsiyeti"]),
Convert.ToString(myTable.Rows[i]["Yasi"]));
}
Rapor TempReport = new Rapor();
TempReport.SetDataSource(myDataset);
TempReport.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;
crystalReportViewer1.ReportSource = TempReport;
}
private
System.Data.OleDb.OleDbConnection Baglantim() {
System.Data.OleDb.OleDbConnection myCon = new
System.Data.OleDb.OleDbConnection();
myCon.ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist
Security Info=False;Initial Catalog=Yazar;Data Source=YEKBUN;Workstation
ID=YEKBUN";
if(myCon == null || myCon.State == ConnectionState.Closed)
myCon.Open();
return myCon;
}
|
Bu makalenin
raporlamalarınızda yardımcı olmasını ve kolaylık sağlamasını umut ederim.
Makale:
.NET Ortamında "Crystal Report" ile Raporlamaya Giriş 2 ADO.NET ve SQL Feryat Olcay
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|