1) Client ekranında Form’a tıklayın (CTRL + F).
2) Report File List ekranı açılacaktır sağ altta bulunan New butonuna tıklayınız,Çıktı tasarım sayfası açılacaktır. Aşağıdaki adımlar takip edilerek boş tasarımın ismi oluşturularak kayıt edilir.Daha sonra tasarım üzerinde düzenleme yapılmak için Report File listesi açılır ilgili tasarım, ismiyle beraber görüntülenecektir. Üzerine tıklanarak tasarım sayfası açılır.
3) Form Tasarımı sayfası açıldı. Özellikler kısmındaki XtraReport alanından genel özelliklere ulaşabilirsiniz.
4) Özellikler penceresindeki Eylemler bölümünde, işaretli alandan tasarım ekranına bant eklenebilir. Bu bantların her birinin özellikleri farklıdır. Bunlar sonraki adımlarda açıklanacaktır.
5) Tasarım üzerine sürüklenmiş olan herhangi bir alana tıklanıp,ilgili verinin format düzenlenmesi yapılabilir. "Actions" alanının altındaki ‘Text Format String’ alanında uygun format belirtilebilir veya üç noktaya tıklanarak editör sayfasına gidilir ve oradan seçim yapılabilir. Örneğin, o alanı seçip Format bölümüne {0:n2} yazarsak, 2.500.000,00 düzeni görüntülenecektir.
6) İlk açılan tasarım ekranında Üst Kenar Bandı, Detay Bandı ve Alt Kenar Bandı yer alır.
7) Tasarım ekranına sol taraftaki tasarım araçlarından Label'ı sürükleyip bırakarak bu bantlara ekleyeceğiniz verileri yazabilirsiniz.
8) Form tasarımında en üstte bulunan araçlardan aşağıda işaretli alanda baskı önizleme yaparak tasarım ekranında yapılan değişiklikleri düzende görüntüleyebilirsiniz. Bu bölümde kes, kopyala, yapıştır, sil, geri, ileri , boyut ayarlama, tam ekran yapma araçları bulunmaktadır. Baskı önizleme ikonunun sol yanında kod ekleyebileceğiniz Scripts aracı bulunmaktadır.
9) Add New Field'a tıkladığınızda karşınıza sorgu yazabileceğiniz bir pencere çıkar. "Field Name" kısmına sorguya bir isim verebilirsiniz. Type kısmından Dynamic, Static veya Datasource seçebilirsiniz. Sorgu yazarken Datasource tipini seçmelisiniz. Sorguyu alttaki alana yazabilirsiniz.
| Bu ekranda '' $P '' kullanılırsa ilgili verinin client ekranında olması gerekmektedir. Sorguyu kaydedip çıkabilirsiniz. |
10) Form tasarım ekranının sağ tarafında Properties aracının altında Fields aracı bulunmaktadır. Datasource List (Field List) açıldığında bu alanda tablolar, statik alanlar ve sorgular görünecektir.
Actions alanının altında bulunan Data Member alanında ilgili tablonun ismine tıklayıp buradan verilerin nereden geldiği eklenmelidir daha sonra 3 numaralı alandan ‘Field List’ alanına tıklanıp data member’la bağlanan ilgili tablodaki alanlar tasarım alanına sürüklenmelidir.
Fields aracının altında Report Explorer aracı bulunmaktadır. Tasarıma eklediğiniz tüm alanları genel olarak bu araçta görüntüleyebilirsiniz.
Özelliklerin (Properties) altındaki ana başlıkları inceleyelim:
12) Eylemler (Actions) bölümü:
| TopMargin ve Bottom Margin1 bandı seçili olduğunda, Actions sekmesinde sadece bant alanları aktif olur. |
Özelliklerin (Properties) altında bulunan eylemler (Actions) alanından eklenilen bantlar ve işlevleri:
Bu bantları ekledikten sonra soldan cetvelle aşağı doğru çekerek genişletip daraltabilirsiniz.
- Top Margin Band: Bu alan tasarım sayfası açıldığında üst kısımda hali hazırda bulunmaktadır.Yazıcının üst kenardan içerik basmaması gereken minimum boşluğu sağlar.Bu alana içerik eklenebilir fakat detail bandındaki gibi satır bazında değildir.Raporun tamamı için bir kere içerik üretir.
- Insert Report Header Band: İlk sayfadaki Üst Kenar Bandını takip eden kısım. Daha uzunsa diğer sayfalara devam eder. Raporun ilk sayfasında bir kez gösterilir,Raporun genel başlığı, logo, tarih vb. sabit bilgiler için kullanılır. Diğer sayfalarda tekrarlanmaz.
- Insert Page Header Band: Eklendiğinde her sayfanın üst kısmında yer alır.Sütun başlıkları, tekrarlayan tablo başlıkları için idealdir.Sayfa değişse bile her sayfanın başında tekrar eder.
- Insert Group Header Band: Report Header Bandı bölümü bittikten sonra, Page Header Bandı'nı hemen takip eden bölüm (her sayfada gösterildiği gibi) ve Ayrıntı'dan önceki bölümdür.
Verileri belirli bir alana göre gruplamak için kullanılır.
Örneğin: Müşteri, Bölge, Kategori gibi.
Grup değiştiğinde yeniden gösterilir.
İçine PivotGrid, tablo veya metin eklenebilir.
- Detail Band: Sorgu ile aldığınız alanları ve tabloyu buraya eklemelisiniz. Bu alan tasarım sayfası açıldığında orta kısımda hali hazırda bulunmaktadır. Birden fazla değer döndürülürse bu Detail bölümünde gösterilecektir çünkü her bir kayıt (row) için bu band bir kez tekrar eder. Detail bölümüne eklediğiniz alanları sıkıştırın. Tasarımın sol tarafındaki cetvelden sadece Detail alanına yer açmanız yeterlidir. Çünkü bu alanda bulunan veri kadar tekrar tekrar yazdırır. Aksi takdirde boş olarak yazdırır. İsterseniz border'dan alanlara border ekleyebilirsiniz .
| Detail bandı içerisine eklenen tablonun, üst ve alt kenar boşlukları olmadan yerleştirilmesi gerekir. Aksi halde, her veri satırı arasında gereksiz boşluklar oluşur ve bu durum raporun tasarımında görsel düzensizliğe neden olur. |
- Insert Detail Report Band: Ana veriye bağlı alt detay veriler için kullanılır.
Çünkü buradaki veriler her satırdan sonra gelir.
Master-detail yapılarında, her ana kaydın altına bağlı kayıtlar (alt tablo) burada gösterilir.
Örn: Sipariş → Sipariş Satırları
- Insert Vertical Header Band: Vertical Header Band, yinelenen içerikten önce bilgileri görüntülemenize olanak tanır. Dikey rapor formatlarında (yani satır yerine sütunda kayıt gösterenlerde) kullanılır.
Vertical raporlarda başlıkları dikey olarak göstermek için kullanılır.
- Insert Vertical Detail Band: Dikey formatlı raporlar için veri gösterim alanıdır.
Normal Detail bandının dikey versiyonudur.
Özellikle form bazlı (etiket, anket) raporlarda kullanılır.
- Insert Vertical Total Band:Vertical Detail Band'daki verilerin altına yerleşir.
O detayların toplamı, ortalaması, sayısı gibi özetlerini göstermek için kullanılır.Tıpkı yatay raporlardaki GroupFooter / ReportFooter gibi ama dikey yapıya uyumludur.
- Insert Group Footer Band:GroupHeader bandı ile oluşturulan grupların alt kısmına gelir. Her grup tamamlandığında buraya özet, toplam, açıklama gibi bilgiler eklenebilir.
Grup bazlı ara toplamlar için kullanılır.
- Insert Report Footer Band: Grup Alt Bilgi Bandından sonra gösterilen kısım. Diğer sayfalara da uzanabilir.Raporun en sonunda bir kez gösterilir.
Tüm veriler işlendiğinde çıkar.Genellikle genel toplamlar, kapanış mesajı gibi içerikler için uygundur.
- Insert Page Footer Band: Her sayfanın alt kısmında tekrarlanır, Alt Kenar Boşluğu Bandının hemen üzerinde yer alır.Sayfa numarası, tarih, alt bilgi gibi sabit elemanlar için idealdir.
- Bottom Margin Band: Bu alan tasarım sayfası açıldığında alt kısımda hali hazırda bulunmaktadır.Yazıcı ayarlarına uygun şekilde sayfanın altına mesafe bırakmak için tasarlanmıştır.
Veri alanı eklersen, bu alan tek bir veriyle dolar.Tıpkı Top Margin’de olduğu gibi, veri bağlı alanlar sadece ilk kayıt için çalışır.Tüm sayfalarda aynısı çıkar, çünkü bu band tekrar etmez veya veri gruplamaz.
- Insert Sub-Band: Detail, GroupHeader, ReportHeader gibi bandların altına ek yardımcı banttır.Özellikle dinamik içeriklerde, farklı formatlarda aynı alanı ayrı ayrı göstermek istersen kullanılır.
Örnek: Bir gruba hem tablo hem grafik göstermek gibi.
| Aşağıdaki görselde görüldüğü gibi Detail bandı seçili olduğunda, Actions sekmesinde aktif olan alanları kısa ve sade bir şekilde açıklayalım: |
Page Break: Sayfa kırılma noktasını belirler.
- None → Herhangi bir sayfa geçişi uygulanmaz. (Varsayılan ayardır.)
- Before the Band → Bu banttan önce içerik yeni bir sayfada başlatılır.
- After the Band → Bant tamamlandıktan sonra içerik bir sonraki sayfada devam eder.
- Before the Band Except First Entry → Sadece ilk kayıt hariç, diğer tüm kayıtlardan önce yeni sayfa başlatılır.
- After the Band Except Last Entry → Son kayıt hariç, her kayıttan sonra yeni bir sayfa başlatılır.
Keep Together:
Bandın içeriği tek parça olarak sayfa sonunda bölünmeden gösterilsin mi?
- Aktifse → Band sığmıyorsa bir sonraki sayfaya komple geçer.
- Pasifse → İçerik sayfa sonunda bölünebilir.
Fill Empty Space:
Sayfa sonundaki boşluğu band içeriğiyle doldurur (içeriği uzatır).
- Özellikle raporun son sayfasında kalan boşluğu doldurmak için kullanılır.
- Band içeriğini dikey olarak esneterek sayfa daha dolu görünür.
Sort Fields: Detail bandındaki verilerin hangi alana göre sıralanacağını belirler.
Multi-Column Options Kontrolleri:
Verilerin birden fazla sütunda gösterilmesini sağlar.
-
Column Count
➤ Kaç sütun kullanılacağı (örn: 2 veya 3).
-
Column Width
➤ Her bir sütunun genişliği.
-
Column Spacing
➤ Sütunlar arasındaki boşluk.
-
Layout
➤ Verilerin doldurulma yönü:
- AcrossThenDown: Önce yatay, sonra dikey
- DownThenAcross: Önce dikey, sonra yatay
-
Mode
➤ Sütun düzeninin neye göre çalışacağı (örneğin tüm sayfa mı, belirli grup mu?).
|
Yukarıdaki görselde görüldüğü gibi Raporun bir alanı seçili olduğunda, Actions sekmesinde aktif olan alanları kısa ve sade bir şekilde açıklayalım: Text: Bu alan, bileşene görünen bir isim/veri atanmasını sağlar. Text Format String: Görüntülenecek verinin biçimini tanımlar. |
Örnekler:
- {0:C} → Para birimi (₺10,00)
- {0:dd.MM.yyyy} → Tarih (26.05.2025)
- {0:N2} → Sayı (virgülden sonra 2 basamak)
Summary:
1) Running: Raporun hangi kapsamda çalışacağını belirler.
- None → Hesaplama yapılmaz.
- Report → Rapor genelinde hesaplama yapılır (örneğin tüm sayfalardaki toplam).
- Group → Gruplar içinde hesaplama yapılır (örneğin her müşteri için toplam).
- Page → Sayfa bazında hesaplanır (örneğin her sayfanın altına sayfa toplamı yazdırmak için).
2)Ignore Null Values: True seçilirse, hesaplamaya null (boş) değerler dahil edilmez.
3)Treat Strings As: Metin ifadeler sayısal işlem gibi mi değerlendirilsin? Kullanımı özelleştirme senaryolarına bağlıdır.
Can Grow: İçerik uzun olduğunda, bileşenin aşağı doğru otomatik büyümesini sağlar.
Can Shrink: İçerik kısa olduğunda, bileşenin yüksekliğini küçültmesine izin verir.
Multiline: Metin kutusunda birden fazla satıra geçilmesine izin verir.
13) Görünüm (Appearance) bölümü:
"Appearance" (Görünüm) bölümü, raporunuzdaki öğelerin (etiketler, tablolar, başlıklar vs.) görsel stilini ayarlamak için kullanılır. Bu bölüm, öğelerin nasıl görüneceğini belirlemenize olanak tanır ve şu amaçlara hizmet eder.
-
Background Color
Öğenin arka plan rengini belirler.
-
Border Color
Öğenin kenarlıklarının rengini belirler.
-
Border Dash Style
Kenarlık çizgilerinin stilini belirler. Seçenekler: Solid (düz), Dash (kesik), Dot (noktalı), DashDot (karışık).
-
Border Width
Kenarlıkların kalınlığını belirler (birim: piksel).
-
Borders
Hangi kenarlıkların çizileceğini belirler. Seçenekler: Top, Bottom, Left, Right, All.
-
Font Name
Yazı tipini belirler. Örneğin: Arial, Tahoma, Times New Roman.
-
Font Size
Yazı büyüklüğünü belirler.
-
Font Unit
Yazı boyutu için kullanılan birim. Genellikle Point (pt).
-
Foreground Color
Yazı rengini belirler.
-
Padding - All
Tüm kenarlardan eşit iç boşluk verir.
-
Padding - Left
Sol kenardan olan iç boşluğu ayarlar.
-
Padding - Right
Sağ kenardan olan iç boşluğu ayarlar.
-
Padding - Top
Üst kenardan olan iç boşluğu ayarlar.
-
Padding - Bottom
Alt kenardan olan iç boşluğu ayarlar.
-
Page Color
Rapor sayfasının arka plan rengini belirler.
-
Text Alignment
Metnin yatay ve dikey hizalamasını ayarlar. Yatay: Left, Center, Right. Dikey: Top, Middle, Bottom.
| Properties alanı XtraReport seçili iken Watermark alanı aktif olur ve bu alandan raporun arka planında yer alacak metin veya resim ayarlarının bir kısmının yapılması sağlanabilir. |
|
|
Tasarım üzerinde bir rapor alanı seçili iken Appearance bölümünde ’Text Trimming’ özelliği aktif olur. Bu özellik, metin içeriği alanın boyutunu aştığında nasıl davranılacağını kontrol etmenizi sağlar. |
- None: Taşan metin kırpılmaz, alan dışına taşabilir.
- Character:Metin, karakter düzeyinde kırpılır. Sığmayan karakterler gizlenir.
- Word: Metin, kelime düzeyinde kırpılır. Yarım kelime bırakmaz, sadece tam kelimeler gösterilir.
- EllipsisCharacter: Metin sığmadığında sonuna eklenerek kırpılır. (Karakter düzeyinde)
- EllipsisWord: Metin sığmadığında tam kelime düzeyinde eklenerek kırpılır.
- EllipsisPath:Özellikle dosya yolu gibi metinlerde kullanılır. Ortasından keserek ... ekler.
14) Davranış (Behavior) bölümü:
"Behavior" (Davranış) bölümü, bir rapor öğesinin nasıl davranacağını, yani etkileşimsel özelliklerini ve çalışma mantığını belirlemenizi sağlar. Bu bölüm, sadece öğenin görünümünü değil, onun dışa aktarım, script tabanlı işlevsellik, veri bağlama gibi davranışsal yönlerini yönetmek için kullanılır.
Bu bölümde, ilk olarak rapor bileşenlerinin görünüş ve veri davranışları kontrolü için ,var olan özellikler incelenmiştir.
- Angle: Metnin döndürülme açısını belirler. Örneğin, metni dikey yazmak istersen 90° verebilirsin.
- Allow Markup Text: HTML benzeri etiketleri kullanarak metin biçimlendirmeye olanak tanır. Örneğin, <b>metin</b> kalın olarak görünür.
- Can Grow: Metin kutusu içeriğe göre aşağı doğru büyüyebilir. Özellikle uzun açıklamalar için kullanılır.
- Can Shrink: Metin kutusu içeriğe göre küçülebilir. Eğer veri kısaysa, alan fazla boşluk bırakmaz.
- Can Publish: Bu öğe dışa aktarımda (PDF, Excel) yer alsın mı, almasın mı onu belirler.
- Keep Together: İçeriğin sayfa sonlarında bölünmeden tek parça olarak gösterilmesini sağlar.
- Multiline: Metin birden fazla satıra geçebilir. Satır sonlarında otomatik olarak alt satıra iner.
- Process Duplicates: Bu özellik, aynı veri tekrar tekrar geliyorsa nasıl görüntüleneceğini belirler.
Leave: Her tekrar eden değer olduğu gibi gösterilir. Varsayılan davranıştır.
Merge: Aynı olan hücreler görsel olarak tek bir hücre gibi birleştirilir.
Suppress: İlk değer gösterilir, sonraki tekrarlar gizlenir ama hücre boş yer kaplar.
Suppress and Shrink: Tekrar eden değerler gizlenir ve hücre/satır tamamen küçülür.
- Process Duplicates Target:
Value: Karşılaştırma hücrenin içeriğine göre yapılır.
Tag: Karşılaştırma, hücrenin "Tag" özelliğine atanmış özel veriye göre yapılır.
- Process Null Values:
Leave: Veri olmasa bile hücre boş görünür.
Suppress: Veri yoksa hücre gizlenir ama alan yer kaplamaya devam eder.
Suppress and Shrink: Veri yoksa hem hücre gizlenir hem de alan daralır, daha kompakt bir görünüm sağlar.
- Row Span: Tablo hücresinin kaç satırı kapsayacağını belirler. Hücreleri dikey olarak birleştirmek için kullanılır.
- Text Fit Mode: Metin kutuya sığmıyorsa, otomatik olarak küçültülerek sığdırılır.
- Visible: Öğenin görünür olup olmadığını belirler. Dinamik olarak görünürlüğü açıp kapamak için kullanılabilir.
- Word Wrap: Uzun metinlerin kutu boyutunu aşması durumunda alt satıra geçmesini sağlar.
‘SCRIPT’ Alanı:
Before Print ve Summary Calculated en sık kullanılan alanlarındandır.
Draw, Print on Page, Evaluate Binding daha gelişmiş ihtiyaçlarda devreye girer.
Özellikle adisyon gibi dinamik raporlarda BeforePrint ile metin rengi, görünürlük, veri biçimlendirme gibi pek çok detay kontrol edilebilir.
-
After Print
➤ Bileşen yazdırıldıktan sonra çalışır.
Genelde loglama veya yazdırma sonrası temizlik için kullanılır.
-
Before Print
➤ Bileşen yazdırılmadan önce tetiklenir.
En çok kullanılan olaydır. Koşullu biçimlendirme, görünürlük, değer değiştirme gibi işlemler burada yapılır.
-
Location Changed
➤ Bileşenin konumu (X/Y) değiştirildiğinde çalışır.
Genelde çok nadiren kullanılır.
-
Parent Changed
➤ Bileşen başka bir kapsayıcıya taşındığında çalışır.
İç içe yapılarla çalışırken kullanılabilir.
-
Size Changed
➤ Bileşenin genişlik veya yüksekliği değiştiğinde tetiklenir.
Boyut bazlı özel düzenlemeler için uygundur.
-
Draw
➤ Bileşen çizilirken (render edilirken) çalışır.
Özel çizimler veya grafiksel işlemler yapılabilir.
-
Evaluate Binding
➤ Data Binding işlemi değerlendirilirken çalışır.
Verinin bağlandığı anda müdahale etmek için kullanılır.
-
Print on Page
➤ Bileşen belli bir sayfaya yazdırılırken tetiklenir.
Sayfa bazlı işlemler için uygundur. Örn: Belirli sayfalarda gizlenmesi gereken etiketler.
-
HTML Item Created
➤ HTML çıktısı oluşturulurken çalışır (Web raporlarında kullanılır).
Web raporlama için özelleştirme sağlar.
-
Text Changed
➤ Bileşenin metni değiştirildiğinde çalışır.
Genelde veri setiyle dinamik olarak çalışan bileşenlerde kullanılır.
-
Summary Calculated
➤ Özet (summary) hesaplandıktan sonra çalışır.
Toplamlar, ortalamalar gibi hesaplanmış değerleri kontrol etmek için idealdir.
-
Summary Get Result
➤ Özet değer hesaplanmadan hemen önce çalışır.
Hesaplama öncesi özel mantık eklemek için kullanılır.
-
Summary Reset
➤ Özet değeri sıfırlanmadan önce tetiklenir.
Gruplama veya sayfa başlarında özetin sıfırlanması gerekiyorsa buraya müdahale edilir.
-
Summary Row Changed
➤ Özet hesaplamasında kullanılan veri satırı değiştiğinde çalışır.
Satır bazlı işlem gerektiren özet hesaplamaları için uygundur.
‘EDIT OPTIONS’ Alanı:
Bu alan , Web Report Designer veya Document Viewer'da kullanıcının rapor çıktısı üzerinde düzenleme yapabilmesini sağlar. Özellikle anket formları, etkileşimli raporlar gibi senaryolarda kullanılır.
-
Enabled
➤ Bu öğe kullanıcı tarafından düzenlenebilir mi?
Yes olarak ayarlanırsa, kullanıcı bu öğeyi rapor görüntüleme sırasında değiştirebilir (örneğin bir metin kutusuna yazı girebilir).
-
ID
➤ Bu düzenlenebilir alanın benzersiz kimliğidir.
Veri güncellenirken hangi alanın değiştirildiğini takip etmek için kullanılır.
-
Read Only
➤ Öğeyi sadece okunur yapar.
Yes seçilirse kullanıcı düzenleme yapamaz ama veri görüntülenir.
-
Editor Name
➤ Hangi türde editör (metin kutusu, onay kutusu vb.) kullanılacağını belirler.
Örneğin TextBox, CheckBox, DateEdit gibi kontroller atanabilir.
‘INTERACTIVE SORTING’ Alanı:
Bu özellik, kullanıcının raporu görüntülerken sütun başlıklarına tıklayarak sıralama yapabilmesini sağlar.
Kullanıcıya raporu daha rahat inceleyebilmesi için tıklanabilir sıralama özelliği eklemek istiniliyorsa kullanılabilir. Özellikle tablolar için çok kullanışlıdır.
-
Target Band
➤ Hangi band (detay, grup vs.) sıralanacak?
Genellikle Detail band seçilir, çünkü sıralama bu satırları etkiler.
-
Field Name
➤ Sıralama hangi alana göre yapılacak?
Veri kaynağındaki bir alan (örneğin Fiyat, Tarih, Ad) seçilir. Kullanıcı bu sütunun başlığına tıkladığında artan/azalan sıralama yapılır.
|
Yukarıdaki görselde görüldüğü gibi TopMargin ve Bottom Margin1 bandı seçili olduğunda, Behavior sekmesinde sadece şu iki alan aktif olur:
|
| TopMargin ,Bottom Margin gibi bazı yapısal bantlarda (Detail dışında) davranış seçenekleri sınırlıdır; bu yüzden diğer Behavior ayarları (Can Grow, Process Duplicates vs.) burada yer almaz. |
|
Yukarıdaki görselde görüldüğü gibi Detail bandı seçili olduğunda, Behavior sekmesinde aktif olan alanları kısa ve sade bir şekilde açıklayalım: Drill-Down Kontrolleri:
|
Behavior Kontrolleri:
-
Fill Empty Space
➤ Bandın bulunduğu sayfada boş alan varsa o boşluğu doldurur.
Özellikle son sayfada boşluk kalmasın isteniyorsa kullanılır.
-
Keep Together
➤ Bandın tüm içeriği tek parça olarak gösterilsin, sayfa sonunda bölünmesin isteniyorsa aktif edilir.
-
Page Break
➤ Sayfa kırılma noktası belirler.
Seçenekler:
None: Kırılma yok
Before the Band: Banddan önce sayfa kırılsın,sonlansın.
After the Band: Banddan sonra sayfa kırılsın,sonlansın.
Before the Band Except First Entry: İlk giriş hariç her seferinde banddan önce sayfa kırılsın,sonlansın.
After the Band Except Last Entry: Son giriş hariç her seferinde banddan sonra sayfa kırılsın,sonlansın.
Hierarchy Print Options Kontrolleri:
Hiyerarşik (ağaç yapılı) veriler için kullanılır. Örneğin: Kategori → Alt Kategori → Ürün gibi.
-
Child List Field
➤ Alt öğeleri içeren alan (alt liste).
-
Key Field Name
➤ Her öğeye atanmış benzersiz anahtar.
-
Parent Field Name
➤ Hangi öğenin hangi üst öğeye bağlı olduğunu gösteren alan.
-
Indent
➤ Alt seviyelerdeki öğelerin ne kadar içeriden başlayacağı (girinti miktarı).
-
Keep Together
➤ Hiyerarşi blokları sayfa sonunda bölünmesin isteniyorsa aktif edilir.
Multi-Column Options Kontrolleri:
Verilerin birden fazla sütunda gösterilmesini sağlar.
-
Column Count
➤ Kaç sütun kullanılacağı (örn: 2 veya 3).
-
Column Width
➤ Her bir sütunun genişliği.
-
Column Spacing
➤ Sütunlar arasındaki boşluk.
-
Layout
➤ Verilerin doldurulma yönü:
- AcrossThenDown: Önce yatay, sonra dikey
- DownThenAcross: Önce dikey, sonra yatay
-
Mode
➤ Sütun düzeninin neye göre çalışacağı (örneğin tüm sayfa mı, belirli grup mu?).
|
Yukarıdaki görselde görüldüğü gibi XtraReport(Report) seçili olduğunda, Behavior sekmesinde aktif olan alanları kısa ve sade bir şekilde açıklayalım: Raporun genel görünüm ve davranış ayarları:
|
| Form Tasarımı sağ taraftaki Behavior kısmında (Properties > XtraReport) Display Name isimli alanda görüntüleniyorsa, indirilen dokümanın adı bu alandaki verilere göre dinamik olacaktır. Eğer sorgudaki bu alanın Alias ile bir karşılığı varsa onun yazılması gerekmektedir. |
- Measure Units
➤ Ölçü birimi (Inch, Centimeter, Pixel vb.).
- Request Parameters
➤ Raporun parametreleri veri kaynağına aktarılır mı? (Genelde işaretli olur.)
- Show Margin Lines
➤ Tasarım ekranında sayfa kenar boşluk çizgilerini gösterir/gizler.
- Vertical Content Splitting
➤ İçeriğin dikeyde sayfa bölünmesine nasıl tepki vereceğini belirler.
- Visible
➤ Raporun görünür olup olmayacağı. (Genelde sabit True kalır.)
- Script Language
➤ Rapor içinde kullanılacak betik dili (C# veya VB.NET).
‘SCRIPT’ Kontrolleri
Rapor düzeyinde çalışan alanlar. Aşağıdaki gibi birçok alt başlık olabilir:
- Before Print
- After Print
- Parameters Request Before Show
- Data Source Demand
- Script Error, vs.
Bu alanlarda genel işler, veri hazırlıkları, hata yakalama gibi işlemler yapılabilir.
‘SCRIPT REFERENCES’ Kontrolü:
Boş bir not defteri gibi görünen alandır.
Buraya, dışarıdan dahil edilen ek script dosyalarının yolları (referanslarını) yazabilir.
Örnek: Başka sınıflardan ya da metodlardan faydalanmak isteniyorsa buraya başvurulur. Genelde gelişmiş projelerde kullanılır.
‘EXPORT OPTIONS (Dışa Aktarma)’ Kontrolleri:
Rapor farklı formatlarda dışa aktarılırken (PDF, Excel, Word, Email, vs.) nasıl davranacağını belirleyen detaylı ayarlardır.
Bazı başlıklar ve alt başlıkları:
- PDF Options
➤ Sayfa boyutu, sıkıştırma, güvenlik ayarları vb.
- Excel Options
➤ Hücre birleştirme, otomatik genişlik, tablo stili vb.
- E-Mail Options
Recipient: Mail alıcısı
Subject: E-posta konusu
Body: E-posta içeriği
- HTML, Image, RTF, Text gibi diğer formatların da ayrı alt ayarları vardır.
16) Veri (Data) bölümü:
Data Source: Raporun hangi veri kaynağından besleneceğinin belirlediğini yerdir.
Data Member: DataSource içindeki hangi tablo, sorgu ya da koleksiyonun kullanılacağının seçildiği yerdir.
Filter String: Bu alanla veri üzerinde filtreleme yapabilir. Sadece belirli kriterlere uyan verileri göstermek için kullanılır.
Calculated Fields: Bu alan, veri kaynağındaki alanlardan matematiksel veya mantıksal hesaplamalar yaparak yeni sanal alanlar oluşturur.
Parameters: Bu kısımda kullanıcıdan değer alıp, raporu dinamik şekilde filtrelemek veya özelleştirmek için parametre tanımlanır.
"To create an item click the add button"
Bu mesaj, henüz bir parametre eklenmediğini ve yeni bir tane oluşturmak için “+” (Add) düğmesine tıklanması gerektiğini belirtir.
16) Tasarım (Design) bölümü:
Design sekmesi, raporun tasarım ortamındaki davranışlarını ve görünümünü kontrol eder.
Snap Grid Size: Bu ayar, rapor öğelerini yerleştirirken kullanılan ızgara (grid) sisteminin boyutunu belirler.
Draw the Watermark: Bu seçenek, tasarım aşamasında (rapor görüntülenmeden veya yazdırılmadan önce) watermark (filigran) gösterilip gösterilmeyeceğini belirler.
Language: Bu ayar, raporun çok dilli (multi-language) desteği varsa hangi dilde tasarlanacağını belirler.
| Navigation ve Printing bölümü yalnıca raporun bir alanı seçili olduğı durumda aktif hale gelmektedir. |
17) Navigation bölümü:
Navigation özelliği, kullanıcı etkileşimini artırmak ve rapor içinde gezinmeyi kolaylaştırmak için kullanılır. Özellikle büyük, çok sayfalı ya da hiyerarşik raporlarda "bir yere tıklayıp başka bir yere gitme" ihtiyacına çözüm sunar.
Bir raporda Navigation ayarları sayesinde:
- Kullanıcı bir öğeye tıkladığında başka bir sayfaya, raporun başka bir alanına ya da harici bir URL'ye yönlendirilebilir.
- Rapor içinde iç bağlantılar (bookmark gibi) ya da dış bağlantılar (URL gibi) oluşturulabilir.
1. Bookmark
- Bu alan, o öğeye özel bir işaret (bookmark) tanımlar.
- Raporun içindeki belirli bir bölgeye referans olarak kullanılabilir.
- Örnek: Bir bölüm başlığına "Bookmark = BOLUM1" dersen, başka yerden bu bookmark’a link verebilirsin.
2. Parent Bookmark
- Bookmark yapısında hiyerarşi kurmak için kullanılır.
- Alt başlıklar üst başlıkların altında gruplanabilir.
- Bookmark panelinde ağaç görünüm oluşturur.
3. Navigation Target
- Bu alan, tıklanınca nereye gideceğini belirtir.
- Burada genelde başka bir bookmark ismi yazılır.
- Örneğin: Navigation Target = “BOLUM1” ise, kullanıcı o öğeye tıkladığında rapor, "BOLUM1" bookmark'ına atlar.
4. Navigation URL
- Bu alan, tıklanan öğeyi web adresine yönlendirmek için kullanılır.
- Örneğin: https://www.google.com yazarsan, tıklanınca dış tarayıcıda bu URL açılır.
- Aynı zamanda parametreli linkler de olabilir: https://site.com/user/{UserID} gibi.
18) Printing bölümü:
- Printing alanı, rapor öğelerinin (label, tablecell, vb.) yazdırma veya export sırasında nasıl davranacağını belirleyen ayarları içerir. Bu ayarlar, özellikle dışa aktarma (PDF, Excel) ve yazıcı çıktısı alma işlemlerinde önem kazanır.
- Bu alan,bir veri alanına (örneğin tablo hücresi) tıklayınca aktifleşir çünkü bu ayar sadece çıktıya dahil olan görsel öğeler için geçerlidir.
- Bu özellik, öğenin metin yönünü kontrol eder:
- Inherit: Üst kapsayıcıdan (rapor ya da band) ne geliyorsa onu kullanır.
- Yes: Bu öğenin metni sağdan sola hizalanır (RTL dilleri için uygundur).
- No: Metin soldan sağa (varsayılan) hizalanır.
- Arapça, İbranice gibi dillerde: Metinlerin doğal görünmesini sağlamak için RightToLeft = Yes yapılır.
- Eğer sadece bir alan Arapça ama diğerleri Türkçe/İngilizce ise, sadece o hücreye özel Yes verilir.
- Inherit seçildiğinde, üst bileşenin (örneğin Detail bandı ya da tüm rapor) RightToLeft ayarı baz alınır.
| Page Setting Bölümü yalnızca, properties alanında raporun kendisi yani (XtraReport(Report)) seçili olduğunda, aktif hale gelmektedir. |
19) ‘Page Setting’bölümü:
-
Landscape
Sayfanın yönünü belirler.
- True: Yatay (Landscape)
- False: Dikey (Portrait)
-
Roll Paper
Sürekli rulo kâğıt kullanımı için ayarlanır.
- True: Sayfa uzunluğu sınırlandırılmaz (genellikle nokta vuruşlu yazıcılar için).
- False: Standart sabit sayfa uzunluğu kullanılır.
-
Page Width
Sayfanın genişliğini belirtir (birim genelde milimetre veya inçtir).
- Bu değer RollPaper aktifse özel olarak ayarlanabilir.
-
Page Height
Sayfanın yüksekliğini belirtir.
- RollPaper = True ise bu değerin bir etkisi olmaz.
-
Paper Kind
Sayfa boyutunu önceden tanımlı ölçülerle seçmenizi sağlar.
- Örnek: A4, Letter, Legal, Custom vb.
- Seçilen değer, Page Width ve Page Height değerlerini otomatik olarak belirler.
-
Margins
Sayfanın kenar boşluklarını belirtir.
Top: Üst kenar boşluğu
Bottom: Alt kenar boşluğu
Left: Sol kenar boşluğu
Right: Sağ kenar boşluğu
Bu boşluklar içerisine rapor içeriği yerleştirilmez, yazıcı bu alanları kullanmaz.
- Landscape: Geniş tablolar için yatay sayfa tercih edilir.
- Roll Paper: Sürekli form çıktılarında gereklidir.
- Page Width & Height: Özel ölçülü kâğıt kullanmak gerektiğinde değiştirilir.
- Paper Kind: Standart yazıcı sayfa boyutlarıyla uyumlu çıktılar için.
- Margins: Yazıcıdan taşmaması ve düzenli hizalama için önemlidir.
Bar-Code Nesnesi :
1) Rapor tasarım ekranında sol panelde bulunan Toolbox bölümünden BarCode kontrolünü bulun.
2) Rapor üzerinde istediğiniz alana sürükleyip bırakın.
3) Eklemiş olduğunuz barkod nesnesi raporun bir parçası haline gelir.
4) Barkod nesnesini seçtikten sonra, Properties (Özellikler) penceresinden Symbology alanına gelin.
Burada kullanabileceğiniz barkod türlerinden bazıları:
Bu türü kendi projenize uygun olarak seçmelisiniz.
-
Code128
En yaygın kullanılan barkod tipidir. Sayılar, harfler ve özel karakterler dahil olmak üzere geniş bir karakter desteği sunar. Hem kısa hem uzun veriler için uygundur.
-
Code39
Harf ve rakam desteği sunar. Karakterleri daha büyük yer kapladığı için, aynı veri Code128'e göre daha uzun bir barkod üretir.
-
EAN13 / EAN8
Özellikle perakende sektöründe (market ürünleri gibi) kullanılan standart barkod formatlarıdır. EAN13, 13 hanelidir ve genellikle ürün ambalajlarında yer alır.
-
QR Code
Kare şeklinde bir barkod türüdür. URL, metin, e-posta gibi veri tiplerini destekler. Akıllı telefonlar ve mobil uygulamalarla kolayca okunabilir.
-
PDF417
2 boyutlu barkod tipidir. Çok daha fazla veri depolayabilir (örneğin kimlik bilgileri, adres gibi). Resmi belgelerde veya kimlik kartlarında kullanılabilir.
-
UPC-A / UPC-E
Amerika merkezli perakende ürünlerinde yaygın olarak kullanılır. UPC-A 12 hanelidir, UPC-E ise kısaltılmış halidir.
-
Codabar
Sağlık sektörü, kütüphane sistemleri ve bazı eski sistemlerle uyumlu barkod tipidir. Kolay oluşturulabilir ve hızlı taranabilir.
5) Barkoda veriyi bağlamak için sağ taraftaki Field List alanına tıklayıp ‘Data Source List’ alanına gidilerek ilgili tablo açılır ve hangi alan bağlanmak isteniyorsa, tasarım ekranında bulunan barkod elemanının üzerine sürüklenir.
- Auto Module: Barkodun otomatik olarak boyutlandırılmasını sağlar (True/False).
- Module: Her bir çizginin genişliğini belirler (özellikle QR Code için).
- ShowText: Barkodun altında metni gösterip göstermeyeceğini belirler (True/False).
- TextAlignment: Alt metnin hizalamasını ayarlar.
- Padding: Barkodun iç boşluklarını belirler.
- ForeColor / BackColor: Barkodun ön plan ve arka plan rengini ayarlarsınız.
| Barkodun alanı, taşmayacak şekilde geniş veya yeterince büyük olmalı. Küçük alana çok veri sığdırmaya çalışırsanız barkod taranamaz hale gelir.Özellikle Code128 ve QR Code için alanın genişliği önemlidir. |
| Çıktı tasarımında Bar Code aracı kullanılırken, aracın SYMBOLOGY özelliği QRCode seçildiğinde; alana gelecek veri tipine uygun Compaction Mode özelliği seçilmelidir. |
Aşağıdaki listede veri tipine göre seçilmesi gereken uygun mod seçeneği gösterilmiştir.
| Veri tipi | En uygun mod |
| Sadece sayılar | Numeric |
| Büyük harf + rakam + sınırlı özel karakter | AlphaNumeric |
| Küçük harf içeren değerler | Byte |
| Türkçe karakterli metinler | Byte |
| URL, JSON, GUID gibi karışık içerik | Byte |
| İçerik değişken, ne geleceği belli değil | Byte |
Table Nesnesi :
Table araç kutusu ile rahatça tablo oluşturmanıza olanak sağlar. Özellikler kısmındaki Eylemler (Actions) alanında silme, satır ekleme, hücre ekleme gibi butonlarla istediğiniz tabloyu tasarlayabilirsiniz.
SubReport Nesnesi :
1) İlk olarak Kategoriler ve Ürünler olmak üzere iki tablo oluşturalım
Alan adları aşağıdaki resimde gösterilmektedir.
Kategori (Category) Tablosu :
2-) Bu Kategoriler tablosuna 3 kategori ekleyelim.
3) Ürünler (Products) Tablosu:
4) Bu ürünler tablosuna ilgili 3 kategoriye ait ürünler ekleyelim.
5) Kategorilerin tanımlandığı Client ekranından Form (CTRL + F) tuşuna tıklayarak iki adet çıktı tasarımı oluşturalım ve kaydedelim.
MainReport adında bir çıktı oluşturuldu , örnekte aynı adımları takip ederek Subreport adında bir çıktı daha oluşturulmuştur. Aşağıda Report File List ekranında gözükmektedir.
İki çıktınında tasarımlarını yapalım, öncelikle subreport isimli çıktının tasarımını yapalım. Subreport’a tıklayalım, tasarım sayfası açılacaktır, Add new file alanından ürün verilerini alacağımız sorguyu yazıp kaydedelim.
Yeni açılan rapor veri kaynağı olmayacaktır. Bunu yapmak için öncelikle Data member’ı bağlayalım, daha sonra sağdaki field list’e (aşağıdaki görselde No:4) tıklayarak data source list ekranını açarak ilgili verilerin alınacağı tabloyu seçip alanlarını üzerinde tıklayalım ve tasarıma sürüklemek istediğimiz alanları sürükleyelim.
Bir sonraki aşama parametre tanımlamaktır. Properties bölümü XtraReport(Report) seçili iken Actions bölümüne gelelim, Filter String alanında sağ tarafta bulunan 3 nokta ikonuna tıklayalım, Filter Editor sayfası açılacaktır.
Açılan editörde editörün yanındaki + işaretine tıklayıp koşul ekleyelim.
Parametreyi tanımladık, Tasarımı kaydedelim, çıkış yapalım.
MainReport çıktısını hazırlamak için Report File listesine gidip üzerine tıklayarak açalım.MainReport ve SubReport dosyaları tasarım listesinden ayrı ayrı açılıp düzenlenmelidir.
MainReport’a tıklayalım tasarım sayfası açılacaktır. Add new file alanından ürün verilerini alacağımız sorguyu yazıp kaydedelim.
Aşağıdaki adımları takip ederek Data Member’ı bağlayalım ve tasarıma sürüklenecek ilgili alanları sürükleyelim.Daha sonra tasarımın detail bandına ‘subreport’ aracını sürükleyelim.
Daha sonra Ana raporda subreport1 alanına bir kere tıklayıp özelliklere girin. Category tablosunu yazdığımız sorgudaki CategoryName'i DATA özelliğinin altındaki PARAMETER BINDINGS alanındaki '' + '' işaretine tıklayarak CategoryName adını verdiğiniz parametrenin Description’ı (CategoryIDConnection) ile ilişkilendirin.
Parametre Adı: CategoryIDConnection
Bağlama = CategoryName (Category sorgusundaki alan)
Ana Raporu Kaydedelim ve çıkalım.
Kategorileri tablosunun bulunduğu istemciden yani Kategorilerin tanımlandığı Client ekranından yazdır butonuna tıklayıp düzen tasarımını seçerek görseli kontrol edebilirsiniz.
Artık ürünleriniz kategorilere göre sıralanıyor.
Çıktı Tasarımına Font Ekleme:
İlk olarak kullanılmak istenen .ttf uzantılı font dosyaları uygulamanın kurulu olduğu sunucuda, Webfonts klasörüne eklenmelidir.
Aynı font dosyalarının kullanıcı bilgisayarlarında da işletim sistemine yüklenmiş olması gerekmektedir. Aksi durumda çıktı doğru görüntülenmeyecektir.
Bu adımlar tamamlandıktan sonra, Çıktı Tasarımı oluşturma ekranında Script ekleme alanına ilgili kod eklenmeli ve çıktı çalıştırılmalıdır. Böylece rapordaki yazılar seçilen font ile görünecektir.
1)Tüm Çıktının Fontunu Değiştirme:
Tüm rapor dosyasında varsayılan fontu değiştirmek için aşağıdaki script çıktının script sayfasına eklenmelidir:
using Xpoda.Client.Models;
private void XtraReport_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
var report = sender as XtraReport;
if (report == null) return;
XpodaFontManager.ApplyDefaultFont(report, "Montserrat", 30f);
}Not: "Montserrat" yerine kullanılacak yeni font adı yazılmalıdır.
2)Sadece Tek Bir Alanın Fontunu Değiştirme:
Belirli bir alanın fontunu değiştirmek için aşağıdaki script kullanılabilir:
using Xpoda.Client.Models;
private void label1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
var label = sender as XRLabel;
XpodaFontManager.ApplyFontToControl(label, "Montserrat", 12f);
} Not: "Montserrat" yerine kullanılacak yeni font adı yazılmalıdır.
Örnek 1:
Aşağıda örnekte öğrenci bilgilerini girebilmek için TTF_TrueTypeFont tablosuna bağlı bir form tasarlanmıştır. Form üzerinde öğrencinin sınıfını seçebileceği bir alan, numarasını ve adını girebileceği giriş kutuları eklenmiştir. Ayrıca kayıtların tabloya kaydedilmesi için Save butonu ve girilen verilerin rapor çıktısını almak için Print butonu yer almaktadır.
Form üzerindeki Print butonuna gerekli aksiyon verilmiştir, böylece butona basıldığında tanımlı çıktı tasarımı çalışacaktır.
Daha sonra formun client ekranına geçilerek çıktı tasarımı sayfası açılmış, gerekli script eklenmiş ve tasarım aşağıdaki şekilde oluşturulmuştur.
Script Ekleme Adımları:
Özel fontların rapora uygulanabilmesi için ilgili kod, çıktının script sayfasına eklenmelidir. Bunu yapmak için aşağıdaki adımları izleyin:
- Script sayfasını açın
Çıktı tasarım ekranında üst menüden script simgesine (📜) tıklayın. - Hedef nesneyi seçin
Açılan pencerede sol üstten XtraReport (Report) seçilmelidir. - Olayı belirleyin
Yanındaki açılır menüden BeforePrint seçin. - Kodu ekleyin
Aşağıdaki örnek kodu kod alanına ekleyin ve ✔️ işaretine tıklayarak kaydedin:
Çıktı kaydedildikten sonra tekrar client ekranına dönülüp bir kayıt çağrılarak Print butonuna basıldığında, script eklenmiş haliyle özel fontun uygulandığı çıktı aşağıdaki gibi görüntülenecektir.
Aşağıda ise herhangi bir script eklenmediği için font değişikliğinin uygulanmadığı, varsayılan yazı tipi ile oluşturulmuş çıktı görünümü yer almaktadır.
|
|
Çıktı tasarımlarınızda kullandığınız Rich Text aracının sağlıklı çalışması için script kodu eklenmelidir. Detaylı anlatım dokümanı için linke tıklayın, Çıktı Tasarımda Rich Text Kullanımı |