Merhaba, bu dersimizde Stimulsoft Report Rapor Tasarımı Yapmak konusuna bakacağız. Önceki dersimizde kodlarla nasıl rapor ürettiğimizi, nasıl parametre göndereceğimizi ve conenction string cümlesini dışarıdan gönderme işlemine bakmıştık. Bu ders, bir önceki dersi tamamlayacak bir ders olacaktır. Önceki dersi yazdıktan sonraki gün ikinci dersi yazacaktım ama gün içerisinde diş çektirdim. Zor bir çekim oldu ve 3 gündür ağrımaya devam ediyor. Bu sebeple bu ders biraz gecikmiş oldu.
Stimulsoft Report Rapor Tasarımı Yapmak
Stimulsoft Report Nedir? Nasıl Kullanılır? dersimizde C# üzerinden yeni bir rapor hazırlamak, parametre ve connection string cümlesi gönderme işlemine bakmıştık. Bu yazıda ise biraz tasarım yapalım istiyorum. Kod kısmında anlattıklarımı tamamlayacak nitelikte olacaktır.
Öncelikle yeni bir rapor üreteceğiz. Rapora kendi localimdeki sql serverin ve bir veri tabanının yolunu vereceğim. Sonrasında parametre ile verileri çekip bir tasarım içerisinde göstereceğiz. Kodlarımızı biraz daha güncelledim. Formuma rapor tasarımı diye bir buton ekledim ve aşağıdaki kodları yazdım.
string path = System.Windows.Forms.Application.StartupPath + "\\Rapor"; // System.Windows.Forms.Application.StartupPath , exe dosyasının yer aldığı klasörünün yolunu verir. StiReport report = new StiReport(); report.ReportName = "Deneme.MRT"; report.Dictionary.Databases.Clear(); report.Dictionary.Databases.Add(new StiSqlDatabase("MY_DataSource", "Server=MUSTAFA\\SQL2017;Database=BASIT_AJANDA_DB; Trusted_Connection=True; ")); report["@RECno"] = 0; report.Design(); if (MessageBox.Show("Rapor dosyasını kaydetmek istiyor musunuz?", "Onay Verin", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); report.Save(path + report.ReportName); report.Load(path + report.ReportName); report.Show(); }
Her seferinde uzun uzun yazmamak için path adında bir değişken hazırladım. Rapor nesnemi oluşturdum ve sql connection string cümlesini gönderdim. Ayrıca bir parametre de gönderdim. İlk işlem olarak bir dizayn açacak sonrasında raporu kaydetmek isteyip istemediğimi soracak evet dersem verdiğim yola kaydedecek ve raporu yükleyecek.
Burada en önemli iki şey sql connection string gönderdiğimiz metodun ilk parametresi ve @RECno rapor parametresidir. Birazdan nedenini anlayacaksınız.
Kodlarımızı çalıştırdığımızda yukarıdaki gibi bir ekran bizi karşılayacaktır. Görselde görünmüyor ama sağdaki properties alanının altında 3 sekme görebilirsiniz. Bu sekmeler Properties, Dictionary ve Report Tree ‘dir. İşimiz Dictionary sekmesinde.
Stimulsoft Report Dictionary
Dictionary sekmesi aşağıdaki gibi görünür. Şimdi kodlara dönerseniz Data Sources’in altında, bizim verdiğimiz data source adını görebilirsiniz.
Şimdi My_DataSource üzerinde sağ tık yapalım ve Edit.. diyelim.
Gördüğünüz gibi kodlarla gönderdiğimiz sql connection string cümlesi raporun içerisinde başarı ile gelmiş. Şimdi veri tablomuzu ekleyeceğiz. Şimdi My_DataSource üzerinde sağ tık yapalım ve New Data Source diyelim. Aşağıdaki gibi bir ekran göreceksiniz.
Bu ekranda Stimulsoft’un desteklediği tüm sql ne no sql yazılımlarını görebilirsiniz. Biz En üstte yer alan My_DataSource ‘a tıklıyoruz.
Burada veri tabanımızdaki tablolar, prosedürler ve fonksiyonları görebilir ve istediğimizi seçebiliriz. Ben tables altındaki tabloyu seçerek devam demeyi tercih ediyorum. Sol üstteki New Query’i seçerseniz kendi sorgunuzu yazmanızı ister. Sizler diğer seçenekleri deneyebilirsiniz.
Stimulsoft Report Veri Tablosu Eklemek
Gördüğünüz gibi NOTLAR tablosu eklenmiş oldu. Şimdi NOTLAR üzerinde sağ tık yapıp Edit.. diyelim.
Görüldüğü gibi basit bir select sorgusu yazıp kolonları getirdi. Eğer siz New Query diyerek devam ettiyseniz;
- Sol üstteki ünlem ile sorgu da hata var mı yok mu kontrol edersiniz.
- SQL derseniz sorgunuzu ayrı bir text editör içerisinde açar
- Mercekli ikona tıklarsanız, sorgunuzun ne döndüreceğini gösterir. Yani sorgudan dönen verileri gösterilir.
- Devirmeli ikona tıklarsanız sol alttaki kolonları sağ üst kısma alır. Yeni ekran dizaynı değiştirir.
Şimdi alta gelelim. Columns yazan kısımdaki ikonlar soldan sağa doğru;
- Kolon ekler,
- Hesaplama kolonu ekler,
- Parametre ekler,
- Kolon siler,
- Sorgudaki tüm kolonları Columns listesine ekler. Burada dikkat etmeniz gereken kısım, tekrarlayan kolonların olmaması gerektiğidir. Aksi takdirde hata alırsınız.
Sağ alt bölümde de kolon ve parametre hakkında bilgiler vermektedir. Biz bu alanla sadece parametre noktasında ilgileneceğiz. Şimdi bir parametre ekleyelim. Columns alanının hemen üstüne parametre ekleme butonuna yada Parameters kısmında sağ tık yapıp New Parameter diyebilirsiniz.
Stimulsoft Report Veri Çekmek
Tüm ayarlarımız aşağıdaki görseldeki gibi oldu. Şimdi rapor tasarımı yapalım. Verilerimizi alabiliyoruz.
Ancak şimdi verileri getirmek istesek bile gelmeyecektir. Çünkü biz raporu açarken parametreye 0 (sıfır) göndermiştik. Bu sebeple parametre ile veri göremeyeceğiz. Ancak bağlantımızın sağlıklı bir şekilde yapıldığını ve verileri alabildiğimizi gördük. Şimdi tasarım yapmaya başlayalım. Bu kısmı hızlı geçeceğim. Siz alanları karıştırarak gereken şeyleri bulabilirsiniz. Zaten çok karışık bir uygulama değil.
Stimulsoft Report Veri Çekmek ve Tasarım Yapmak
Properties kısmından NOTLAR veri tablosunu tutup tasarım alanına sürükledim ve bıraktığımda bana bir ekran açtı.
Bu ekranda hızlıca tasarım yapıyoruz. İlk olarak eklemek istediğimiz kolonları seçiyoruz. Al kısımdan header (kolon başlıkları) ve footer (toplam almak vs için) alanları istersek işaretliyoruz. Biz ikisini de istiyoruz. O yüzden Ok demeden önce header ve footer alanlarını işaretleyin.
Ok diyoruz ve aşağıdaki gibi basit bir düzende bize istediğimiz kolonları veriyor.
Alanları istediğiniz gibi büyütüp küçültebilirsiniz. Alanlara çift tıklayarak içerisinde yazanları değiştirebilirsiniz.
Düzenleme ekranı yukarıdaki gibidir. Sağ kısımda iki alan görebiliyorsunuz. Burada çok fazla işlem yer alıyor. Bunları anlatacak olursam ayrı bir yazı yaparım. Siz karıştırabilirsiniz.
- Bir alandaki gösterilecek veriyi değiştirmek istiyorsanız, MY_DataSource’u açıp, NOTLAR’ı açıp oradaki kolonların istediğini sürükleyip bırakabilirsiniz. O alanda, seçtiğiniz kolondaki veri gösterilir. Bizim yaptığımız işlemde tablodan tek veri çağırdığımız için tek bir veri gösterilecek. Eğer sorgunuzdan birden fazla kayıt var ise kayıtlar liste olarak gösterilir.
- Data Column alanında tıklarsanız, 1. maddede dediğime kısa yoldan ulaşırsınız. Yani size direk veri kolonlarını sunar.
- System Variable kısmını açarsanız orada sayfa numarası vs eklemek için gereken değişkenleri görebilirsiniz.
- Summary kısmında da alt toplam vs almak isterseniz o işlemleri yapabilirisiniz. Summary alanını biraz dan kısaca anlatacağım.
Şimdi raporumu kapatıyorum. Kendi çıkarttığıım uyarı hariç tüm uyarılara hayır diyeceğim ve rapor istediğim yola kayıt edilecek. Rapor tekrar açılacak boş bir ekran gelecek. Şimdi projeyi stoplayıp parametresine tabloda bir kayda karşılık gelecek bir recno vereceğim.
Stimulsoft Report Verileri Göstermek
Şimdi kodlarımı biraz daha değiştirdim. İki tane butonum var. Biri Yeni Rapor Tasarımı idi. Yukarıdaki işlemleri yaptık. Birde Rapor Göster butonu ekledim. Bu işlemde hazırladığım raporu gösterecek. Kodlarım aşağıdaki gibidir.
string path = System.Windows.Forms.Application.StartupPath + "\\Rapor"; // System.Windows.Forms.Application.StartupPath , exe dosyasının yer aldığı klasörünün yolunu verir. StiReport report = new StiReport(); private void button1_Click(object sender, EventArgs e) { report.ReportName = "Deneme.MRT"; report.Dictionary.Databases.Clear(); report.Dictionary.Databases.Add(new StiSqlDatabase("MY_DataSource", "Server=MUSTAFA\\SQL2017;Database=BASIT_AJANDA_DB; Trusted_Connection=True; ")); report["@RECno"] = 5; report.Load(path + report.ReportName); if (MessageBox.Show("Dizaynı açmak için Evete tıklayın", "Dizayn", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { report.Design(); if (MessageBox.Show("Rapor dosyasını kaydetmek istiyor musunuz?", "Onay Verin", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { report.Save(path + report.ReportName); } } report.Show(); } private void button2_Click(object sender, EventArgs e) { report.ReportName = "Deneme.MRT"; report.Dictionary.Databases.Clear(); report.Dictionary.Databases.Add(new StiSqlDatabase("MY_DataSource", "Server=MUSTAFA\\SQL2017;Database=BASIT_AJANDA_DB; Trusted_Connection=True; ")); report["@RECno"] = 5; report.Design(); if (MessageBox.Show("Rapor dosyasını kaydetmek istiyor musunuz?", "Onay Verin", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); report.Save(path + report.ReportName); report.Show(); } }
Ben bu şekilde kullanmıyorum. Direk kullandığım şekli de veremiyorum. Siz buradan sonrasını kendiniz geliştireceksiniz artık. Ekranda Buton1 ‘im var olan bir raporu açıyor. Button2’de yeni bir rapor açıyor. Artık yeni rapor ile işimiz kalmadı. Şimdi az önce hazırladığımız raporu button1 ‘e tıklayarak açalım.
Görselde de gördüğünüz gibi NOTLAR tablosundaki RECno’su 5 olan kayıt raporda gösterildi.
Gerisini siz uygulama ara yüzünü karıştırarak bulabilirsiniz. Stimulsoft hakkında bir kaç ders daha yazabilirim ama ne zaman gelir bilemiyorum.
Stimulsoft Report Rapor Tasarımı Yapmak yazımda bu kadar arkadaşlar. Bu dersimizde rapor tasarımı yapma işlemini görmüş olduk. Bu dersin PDF formatına ulaşmak buraya ve buraya tıklayabilirsiniz.
C# Eğitim Seti sayfasına gitmek için tıklayınız. Hazırladığım projeleri yüklediğim Github Profilime buradan ulaşabilirsiniz… Hazırladığım içerikleri faydalı buluyorsanız yorum atarak ve yazılımla ilgilenen arkadaşlarınızla paylaşabilirseniz çok mutlu olurum. Discord’a katılmayı unutmayın.
Sağlıcakla ve kodla kalın….