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.
1 of 12
Download to read offline
More Related Content
Stimulsoft Report Rapor Tasarimi Yapmak
1. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 1 ~
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=MUSTAFASQL2017;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.
2. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 2 ~
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.
7. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 7 ~
3. Mercekli ikona tıklarsanız, sorgunuzun ne döndüreceğini gösterir. Yani sorgudan dönen
verileri gösterilir.
4. 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;
1. Kolon ekler,
2. Hesaplama kolonu ekler,
3. Parametre ekler,
4. Kolon siler,
5. 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.
8. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 8 ~
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
9. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 9 ~
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.
10. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 10 ~
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.
1. 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.
2. 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.
3. System Variable kısmını açarsanız orada sayfa numarası vs eklemek için gereken değişkenleri
görebilirsiniz.
4. 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.
11. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 11 ~
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=MUSTAFASQL2017;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=MUSTAFASQL2017;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();
}
}
12. Mustafa BÃœKÃœLMEZ https://mustafabukulmez.com/
https://mustafabukulmez.com/2021/06/13/stimulsoft-report-rapor-tasarimi-yapmak/ ~ 12 ~
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.
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.
Sağlıcakla ve kodla kalın....