c#

FastReport Kullanımı ve Örnek Tasarım

8 dk okuma süresi
9,967

Herkese merhaba. Uzun bir aradan sonra yazılım ile ilgili makale yazmaya tekrar başladık. Sizinle tekrar görüşmek güzel.

Bu makalede baz almış konu FastReport. Bu konuyu seçmemin asıl nedeni de konu ile ilgili yeteri kadar Türkçe kaynak olmayışı.  Biliyorsunuz, bu işe başlarken temel amacımız para kazanmak değil Türkçe makale sayısını arttırmaktı. Bu yolda da elimizden geleni yapıyoruz.

Yazıma geçmeden önce  başlıklar eklemek istiyorum

FastReport Nedir ?
Neden FastReport ?
Avantajları
Dezavantajları
FastReport kurulumu
c# ile fastReport’a veri göndermek
FastReport dizayn
Dizayn kaydetme ve daha sonra çağırma

Başlık eklemekteki amacım hem sizin makale içinde rahat gezinmeniz hemde konu başlıklarını bilmeniz.

FastReport NEDİR ?

Tek bir cümle ile bu soruya cevap gelmem gerekirse, delphi,c++ ve .Net platformları için en başarılı rapor oluşturma aracı cevabını verirdim. FastReport, yazılım dillerinde daha çok veri tabanında kayıtlı olan dataların çıktısını almak için kullanılır. Bunun bir çok yolu var. ama bütün bunlar oldukça meşakkatli.  Bir .NET geliştirici olarak .NET üzerinden örnek vererek devam etmek istiyorum. Geliştirdiğim ve burada da bir kaçını paylaştığım uygulamalarda genellikle ya crystal reports kullandım ya excel’e gönderip oradan çıktı aldım yada c#’taki print sayfasını saatlerce tek tek, satır satır koordine etmek zorunda kaldım. Takdir edersinizki tüm bu seçenekler oldukça can sıkıcı. İşte bunun önüne FastReport ile tanışarak geçtim. Kaynak bulmakta zorlansamda biraz uğraştan sonra ortaya ürün çıkarmak çokta zor olmadı. FastReport sayesinde daha önce çok zorlandığım işlemler çok daha kolay olmaya başladı. Yapmam gereken sayfayı tasarlamak ve istediğim verileri bu tasarıma gömmek oldu.

FastReport daha çok Delphi’de ün yapmış bir raporlama aracıdır. .Net’e nazaran Delphi’de daha çok tercih ediliyor. Bunun en büyük nedeniyse crystal reports gibi başka seçeneklerinde olması. Bunun yanından ERP12,VEGA gibi büyük programlarda FastReport tercih etmekte.

FastReport ücretli bir raporlama aracıdır.

Benim bu konudaki görüşüm eğer büyük programlarda kullanılmayacaksa crackli dosyalarının kullanılması. Neticede FastReport bu değiştirilmiş dll dosyalarının tümüne telif atabilir. Fakat bunu yapmıyor. Bunun yanında da devletler böyle işler için zaten yüklü miktarda ödemeler yapıyorlar.

Neden FastReport ?

Az önce de bu konuya ufaktan değinmiştik. Biraz daha üzerinde durup diğer başlığa geçebiliriz.

  • Kullanım kolaylığı
  • Hızlı veri taşıma
  • Güncel Teknoloji olması
  • Tasarım Şıklığı
  • Çoğu yazılım diliyle entegre edilebilmesi
  • Zaman kazancı

Avantajları

FastReport için Bir çok avantaj saydık. Bunların başında bana göre Tasarım Şıklığı  geliyor. Bunun yanı sıra Hızlı çıktı almamız, bu çıktıyı kolayca değiştirebilmemiz de hatrı sayılır özellikleri.

Rapor hazırlamada sürükle bırak özelliği benim alışık olduğum özelliklerden değil. Buda çok hoşuma gitmişti.

Dezavantajları

Bana göre bir dezavantajı yok. Ama illaki bu konu başlığına bir şey yazmak gerekirse ben sadece kaynak sıkıntısını yazabilirim.

Fastreport ile ilgili yeteri kadar bilgi verdiğimi düşünüyorum. Artık Birazda işin mutfak tarafına-kodlara- el atabiliriz.

Kurulum

Ben .Net üzerinden kurulumu anlatacağım zaten yapmanız gereken şeyler tüm dillerde benzerlik gösteren şeyler.

Demo sürümünü resmi web sitesinden indirip dll dosyalarını uygulamamıza entegre edeceğiz.

Resmi web sitesinden uygulamasını indirelim. Burada her yazılım dili için ayrı setuplar bulunmakta.

indirip kurulum yaptıktan sonra dll soyalarını önce solution Explorer bölümünden referanslara yeni referans ekle diyerek kaynak dosyaların bulunduğu kısımda Fastreport.dll dosyasını seçerek ekliyoruz. Daha sonra Toolbox alanına gelelim. Burada da araçları kullanmak için dll dosyasını eklemek gerekiyor. Toolbax alanına sağ tıklayıp Choose items’a tıklayalım. daha sonra dll dosyaları listelenmesini bekleyelim. bu işlemden sonra browse diyerek dll dosyalarını seçip yükleyebiliriz. bunu yaptıktan sonra Toolbox alanına gerekli araçlar gelecectir.

FastReport’a veri göndermek

Bu örneği daha önce en çok sorun yaşadığım sql ile FastReporta data gönderme üzerinden yapmak istiyorum. Diğer örneklerde bunun üzerinden devam edecek.

Daha önce sql ile çektiğim verilerim var. bunları çekmek için kullandığım sql kodu

SELECT ID,adi,soyadi,telefon,adres2,firmaAdi,tcKimlikNo,faks,aciklama,grup from kayit where grup=2 AND status=1

 

Bu sql kodu ile verileri çekiyorum. Yine bu şekilde verileri FastReport’a göndereceğiz. Bunun için gerekli kodlarımız

            SqlDataAdapter da = new SqlDataAdapter("SELECT ID,adi,soyadi,telefon,adres2,firmaAdi,tcKimlikNo,faks,aciklama,grup from kayit where grup=2 AND status=1", baglanti);//Bu kod satırı veri tabanına bağlanıyor ve istediğimiz dataları çekmemizi sağlıyor.
            DataSet dataset = new DataSet();
            da.Fill(dataset, "dataset");//gelen verileri dataset'e dataset veritabanı adıyla yüklüyor. 
            rapor.RegisterData(dataset, "dataset");//dataları FastReporta gönderiyor. 
           rapor.Design();//FastReport design sayfasını açar.

Açılan ekranda boş raporu seçip reporta gelirseniz orada veri kaynağı seç alanında gönderdiğiniz datanın bulunduğunu görürsünüz.

fastReport Dizayn

Bu konu balığında baştan bir tasarım yapmak yerine fastreportun güzel bir özelliğinden bahsetmek istiyorum.

Zaten boş belge açtıktan sonra dilediğiniz gibi tasarımınızı yapabilirsiniz. ama ben FastReport’un Standart Rapor Sihirbazından bahsetmek istiyorum.

az önceki adımdan boş rapor yerine  Standart Rapor Sihirbazını seçelim

Daha sonra gönderdiğimiz datalar arasında hangisi ile işlem yapmak istediğimizi soruyor. Seçip devam edelim.

Bu adımda işlem yapmak istediğimiz kolonları seçmemizi istiyor. Seçip devam edelim.

Grup oluşacaksa burada grubu seçelim ve devam bundan sonrasında gayet güzel ve iş göre tasarımlar karşımıza çıkıyor. geri bu konuda tamamen özgürsünüz.

 

Dizayn kaydetme ve daha sonra çağırma

Az önce yaptığımız işlemler bittiyse bu sayfayı kayıt edebiliriz. Benim tavsiyem projenin bulunduğu dosyaların içindeki debug klasörüne kaydetmeniz. Böyle yaparsanız erişim daha kolay olur. Ben debug klasörünün içine report diye bir dizin açtım ve onun içine kisiler adıyla kaydettim.

            SqlDataAdapter da = new SqlDataAdapter("SELECT ID,adi,soyadi,telefon,adres2,firmaAdi,tcKimlikNo,faks,aciklama,grup from kayit where grup=2 AND status=1", baglanti);
            DataSet dataset = new DataSet();
            da.Fill(dataset, "dataset");
            rapor.RegisterData(dataset, "dataset");
            rapor.Load("report/kisiler.frx");//dosyanın bulunduğu klasörü buraya ekleyin
            // rapor.Design();
            rapor.Show();//Böylelikle tasarımınız hazır.

Bu son yazdığım c# kodlarını butonunuza eklemeniz yeterli.

Benim FastReport için anlatacaklarım bu kadar. Kafanıza takılan, yanlış gördüğünüz yerler ya da eklemek istediğiniz şeyler varsa yorum kısmında belirtirseniz en fazla bir kaç saatte cevap vermeye çalışırım. Makalemi sıkılmadan onca imla hatasına rağmen okuduğunuz için teşekkürler.

İyi çalışmalar.

Daha Fazla İlgili Makale Yükleyin
Daha Fazla Yük c#

7 Yorumlar

  1. mahsun aydın

    16/03/2022 at 23:53

    Merhabalar,
    FastReport ile footer içine kolonları ekleyerek toplam alabiliyorum ama aynı zamanda satır bazında en sağa da toplam eklemek istiyorum ancak bir türlü yazamadım. Özetinde pivot tablo yapıyorum hem alta hemde sağa toplam vermek istiyorum.
    Sağ tarafa nasıl yapacağımı bulamadım bir türlü. Destek olabilirseniz müteşekkir olurum

    cevap

  2. ferhat

    16/01/2021 at 21:31

    hocam iki tarih arasındaki verileri ve Gridviewdeki seçili satısı nasıl fast reporta aktarabilirim.

    cevap

  3. Yılmaz

    06/08/2019 at 17:45

    İyi Günler Sizlere Nasıl Ulaşabilirim

    cevap

    • ishak akdaş

      27/08/2019 at 13:07

      biraz geç döndüm kusura bakmayın, buyrun sizi dinliyorum

      cevap

    • Volkan

      23/05/2020 at 23:31

      Fastreporttaki Dosyayı export edebiliyorum fakat saveFileDialog ile istenilen dizine nasıl export edebilirim.

      cevap

  4. mehmet

    08/05/2019 at 15:34

    selamın aleyküm. akıllı perde projenizi yapmaya çalışmıştım devreyi kurdum fakat kod atarken hata aldım. bir sorun var sanırım ilgilenirmisiniz.

    cevap

    • ishak akdaş

      09/05/2019 at 13:27

      Aleyküm Selam.
      Ne yapmaya çalıştığınızı ve ne hata aldığınızı söyler misiniz ?

      cevap

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Kontrol Edin

Şu ASP.NET MVC Nedir Konusuna Açıklık Getirelim!

Microsoft bu işe sene 1996 yılında ASP ile başladı. Daha Sonra  web sayfaları, web uygulam…