|  | 
        
            | 
                    
                        | .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.
 
			
				Bu makalenin 
				raporlamalarınızda yardımcı olmasını ve kolaylık sağlamasını umut ederim.
					| 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; 
						
						}
 |  
 
 
                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
                         | 
        
            |  |