![]() | ||||||||||||||||||||||||||||
Visual Studio 2005 ile DataSet Kullanarak Crystal Report Raporları Oluşturmak | 13.12.2007 17:13:00 | |||||||||||||||||||||||||||
| Kategori : SQL Server Özet : Bu makalede Dataset içerisinden data göndererek Crystal Report dökümanı nasıl oluşturacağımızı göreceğiz. Çok fazla metinsel açıklama yapmaktansa bir örnek üzerinden adım adım gitmenin konunun anlaşılması bakımından daha iyi olacağını ve daha faydalı olacağını düşündüğüm için bir örnek üzerinden sizlere bu konuyu aktaracağım. | ||||||||||||||||||||||||||||
Visual Studio 2005 ile DataSet Kullanarak Crystal Report Raporları
Oluşturmak
Projemiz üzerine Add New Item diyerek bir dataset ekleyelim.
Bu eklediğimiz dataset üzerine yukarıdaki tablodaki verileri yazacağımız datatable mızı ekleyelim. Burada önemli olan eklediğimiz sütunlara veriler ile uygun tipleri vermektir. Yukarıdaki tabloda decimal olarak gösterilen mezuniyet notları için oluşturacağımız datacolumn veri tipini şekildende anlaşılacağı gibi Sytem.Decimal olarak vermemiz gerekmektedir.
Veritabanından çektiğimiz verileri dataset üzerine atalım. DataSet ds = new DataSet();System.Data.SqlClient.SqlConnection con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConString"].ToString()); System.Data.SqlClient.SqlDataAdapter ad = new SqlDataAdapter("select * from Staff", con); DataSet1 dsCrystal = new DataSet1(); ad.Fill(dsCrystal); Şimdi raporumuzu oluşturup oluşturduğumuz dataset e bağlayabiliriz. Rapor oluştururken as a blank report seçmemiz gerekiyor. ![]()
Raporumuz oluştuktan sonra raporun database expert kısmından Project Data -> ADO.NET DataSets içerisinden az önce oluşturduğumuz dataset bulup içerisindeki datatable ı rapora ekliyoruz.
Database field kısmında artık Staff datatable ımızın sütunları gözükmektedir. Bu sütunları tablomuzun Details bölümüne koyduğumuzda sırasıyla tüm kayıtlar ekrana gelecektir. Crystal Report içerisindeki Details bölümü bir datatable ın datarowları üzerinde dönen foreach komutu gibi datatable üzerinde satırlar üzerinde dönüp satır verilerini ekrana bastıracak kısımdır.
Kod kısmında ise raporu çağıırıp ekrana hangi formatta basacağını belirtiriz.ExportFormatType enumu ve aldığı değerler aşağıda gösterilmiştir. public
enum
ExportFormatType
} Raporu ekrana getirmek için ReportDocument nesnesi tanımlayıp oluşturduğumuz rapor dosyasını yüklemeliyiz. Daha sonra datasetimizin ilgili tablosunu rapora datasource olarak vermeliyiz ve raporu hangi formatta ekrana getirmek istiyorsak ExportFormatType'ı istediğimiz formatta seçerek ekrana bastırmalıyız. using System;using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.Sql; using System.Data.SqlClient; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataSet ds = new DataSet(); System.Data.SqlClient.SqlConnection con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConString"].ToString()); System.Data.SqlClient.SqlDataAdapter ad = new SqlDataAdapter("select * from Staff", con); DataSet1 dsCrystal = new DataSet1(); ad.Fill(dsCrystal); ReportDocument rp = new ReportDocument(); rp.Load(Server.MapPath("CrystalReport.rpt")); rp.Database.Tables[0].SetDataSource(dsCrystal.Tables["Table"]); rp.ExportToHttpResponse(ExportFormatType., Response, false, ""); } }
Makalede ve kodlarda olan hatalar için ve takıldığınız noktalar için mehmetaliecer@gmail.com adresine mail atabilirsiniz. İyi çalışmalar Mehmet Ali ECER www.mehmetaliecer.com
| ||||||||||||||||||||||||||||
Yazgelistir.com | ||||||||||||||||||||||||||||