ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
C# REPORT VİEW KULLANIMI

C# da form uygulamalarında kullandığımız ReportView in kullanımını inceleyeceğiz. Dinamik olarak id aralığına göre, yada herhangi başka kolon için kısıtlama belirterek istediğimiz şekilde raporlama yapabilir, daha sonrasında ise, ReportView in bize sunduğu hazır seçenek ve kütüphaneler ile excel, word, pdf olarak kaydedebilir, yada çıktı alabiliriz

FK-gizle

İlk olarak uygulamamız için bir form uygulaması açıp, uygulamamıza ReportView ekleyelim.

Report-view

 

Daha sonra reportview in köşesindeki ok işaretine tıklayıp, yeni bi rapor dizayn edip, report view imizde bunu kullanacağız.

Report-view

 

Database seçili iken Next diyip devam ediyoruz

Report-view

 

Dataset seçili iken Next diyip devam ediyoruz

reportview

 

İlk kez bu işlemi yaptığımızdan dolayı yeni bir bağlantı ekliyoruz, daha sonraki işlemlerimizde yine bu bağlantıyı kullanabiliriz.

reportview

 

Şimdi ise açılan pencereye kendi veritabanımıza göre bilgilerimizi girip, en son ise bağlantı bilgilerinin doğruluğunu test etmek için Test Connection butonuna basıyoruz. Eğer aşağıdaki gibi sonuç başarılı olursa işlemlerimize devam ediyoruz. Eğer hata ile karşılaşırsanız bağlantı bilgilerini kontrol edip tekrar deneyiniz

reportview

 

Artık veritabanı bağlantımız oluştu. NEXT diyerek işlemlerimize devam ediyoruz.

report view

 

Bağlantımıza istediğimiz bir isim veriyoruz ve NEXT diyerek devam ediyoruz

reportview

 

Şimdi ise raporumuzda kullanacağımız tabloları yada view leri seçip, Dataset e de bir isim atayarak işlemlerimize devam ediyoruz

reportview

 

Şimdi burdan dataset imize bir isim veriyoruz. Bu ismi unutmayalım, bunu kod tarafında dinamik işlemlerimizde de kullanacağız.

report view

 

Burdan ise kendi raporlamamıza göre satır ve sütunları gruplayabilir, toplam alabiliriz. Daha sonra bunu el ile de yapabiliriz. Ben hepsini datatable da gösterir gibi göstermek için satır-sütun gruplaması yapmadım

report-view

 

 

Görsellik ayarlarını bir önceki seçtiğiniz kolonlara göre şekillendirme yapabilirsiniz, daha sonra dinamik olarak sorgu içerisinden de diptoplam vs. işlemini SQL sorguları çerçevesinde yapabilirsiniz

report-view

 

 

Burdan rapordaki görsel farklı stilleri seçebiliriz. Son olarak da FİNİSH butonuna basarak işlemlerimizi tamamlıyoruz

report view

 

Oluşturduğumuz rapor dosyasına sağ tıklayıp insert dedikten sonra raporumuza ekleyebileceğimiz seçenekler listelenecektir. Bunlardan istediğimizi seçerek istediğimiz şekilde raporlama yapabiliriz. İstersek tablo olarak, istersek grafik olarak... değişik değişik şekillerde raporlama yapabiliriz.

report-view

 

Şimdi de kod tarafında raporda ne göstereceğimizi özel sorgumuzla belirleme kısmına göz atalım. Kodumuza bağlantıda kullanacağımız bir SqlConnection, birde rapora istediğimiz query sonucunu yollayacak olan fonksiyon ekliyorum

SqlConnection conn =
new SqlConnection(@"Data Source=.\FAUK; Initial Catalog=deneme; User Id=sa; password=1;");
 
       public void ReportViewDoldur_yenile()
       {
           try
           {
               this.reportViewer1.Reset();
               this.reportViewer1.LocalReport.ReportPath =
                (Application.StartupPath + "\\Report1.rdlc");
               DataTable tbl = new DataTable();
               SqlDataAdapter adap = new SqlDataAdapter("SELECT * FROM tbKisi", conn);
               adap.Fill(tbl);
               ReportDataSource rds = new ReportDataSource("DataSetFK", tbl);
               this.reportViewer1.LocalReport.DataSources.Clear();
               this.reportViewer1.LocalReport.DataSources.Add(rds);
               this.reportViewer1.LocalReport.Refresh();
               this.reportViewer1.RefreshReport();
           }
           catch (Exception ex)
           {
               MessageBox.Show("Hata oluştu: " + ex.ToString());
           }
       }

Koddaki Report1.rdlc dosyasının yolunu belirtirken kendi projenizdeki dosya yolunun doğru olduğuna dikkat edelim. Ben burda ilgili dosyayı, çalıştırılan proje exe si ile aynı dizine koyduğum için

this.reportViewer1.LocalReport.ReportPath =
                (Application.StartupPath + "\\Report1.rdlc");

şeklinde kullandım. Ama sizde bu farklı olabilir. Onu değiştirmeyi unutmayın. Bunun yanında query kısmını da istediğiniz şekilde renklendirebilirsiniz. isterseniz belirli id aralığını alabilir (where id<17 AND id>11) yada sorguyu belli bir kolona göre sıralayabilir (order by yas) ... yani sql deki herşeyi query kısmında yapabilirsiniz. Çalıştırdığınızda da rapor buna göre şekillenecektir. İsterseniz de form a textbox koyup bu değerleri kullanıcıdan alabilirsiniz. Yukarıda oluşturduğumuz ReportViewDoldur_yenile() fonksiyonunu nerde çağırırsak rapor yeniden oluşacaktır. Ben raporun yenileme butonuna ekledim

private void reportViewer1_ReportRefresh(object sender, CancelEventArgs e)
       {
           ReportViewDoldur_yenile();
       }

Sizde istediğiniz yerden bu fonksiyonu çağırabilirsiniz. İsterseniz Form1_Load() dan raporun açılışında da direk olarak raporu doldurabilirsiniz. Son olarak da projemizi çalıştırıp reportView den yenile butonuna bastığımızda raporumuzun yenilendiğini göreceğiz.

report-view

 




Diğer Yazılarımdan Seçmeler...