Form üzerinde oluşturulan bilgilerin yazdırılmasını sağlayan işlem türüdür. Çıktı tasarımı olarak form tasarımı yazdırılabilir.
Özellik Panelinde Print Aksiyonu
Özellikler
Description: Aksiyonun bir açıklaması yazılır.
Heading: Form Eylemi olarak eklendiğinde eylem listesindeki adı belirtir.
Design File: SQL sorgusu ile tasarım dosyasının adı yazılır veya bulunur.
Form: Yazdırma için form seçilir.
Linked List: Bir listedeki kayıtlardan yazdırılıyorsa ilgili liste seçilir.
List-ID Field: Listedeki UserTableID alanı seçilir.
List Type Field: Listedeki FormTypeID alanı seçilir.
Print Preview: Baskı ön izleme yapılıp yapılmayacağına karar verilir. (Baskı önizleme olmadığında, sunucu tarafında etkin yazıcıda yazdırma yapılır.)
Run Condition: Bu alana girilen sorgudaki değer '0' ise ilgili işlem çalışmayacaktır.
Request Confirmation: Eylemi çalıştırmadan önce onay isteyip istemediğinizi seçin. Onay İste aktif ise Onay Mesajı özelliği açılır ve onay istenirken görüntülenecek mesaj yazılır.
Studio Tarafında Çıktı Tasarımı Oluşturma
Kitapları ve kategorilerini girebileceğimiz iki ayrı form oluşturalım. Ardından, çıktısını tasarlayıp yazdırabileceğimiz üçüncü bir form tasarlayalım. Sonrasında Studio ekranında aksiyonlar ile çıktımızı oluşturalım.
İlk olarak, kitapların ait olduğu kategorileri tanımlayabilmemiz için Kategori Tanımlama Kartı formu oluşturalım.
Kategori Tanımlama Kartı’ nın Client ekranındaki görünümü aşağıda gösterilmektedir. Birkaç kategori girilip ‘save’ butonu ile kaydetme işlemi yapılır.
Studio ekranına giderek kategorilere ait kitapları ve kitapların yazarlarını tanımlayabileceğimiz yeni bir form oluşturalım. Bu form Kategori Tanımlama Kartı ekranından ‘Open Form Link’ aksiyonu kullanılarak yönlendirme yoluyla açılacaktır. Bu işlemin amacı, kategori ID’si ile eşleştirme (mapping) yaparak formun doğru kategoriyle ilişkilendirilmesini sağlamak ve ilgili kategoriye ait kitapların kaydını gerçekleştirmektir.
Sonrasında ’save’ butonu ekleyerek Client ekranına gidelim. İlgili kategorilere ait kitapları ve yazarlarını girelim ve ’save’ butonu ile kaydedelim. Aşağıdaki görselde birkaç kitap ve yazarı girilip ’save’ butonuyla kaydet işlemi yapılmıştır.
Çıktı tasarımı oluşturup yazdırabileceğimiz üçüncü formumuzu, LIBRARY isminde ve Report tipinde oluşturalım. Bu formda, kategorileri listeleyebileceğimiz bir açılır kutu ve 'Print Önizlemesi' işlevini yerine getirecek bir buton ekleyelim.
Daha sonra aşağıdaki görselde gösterildiği gibi formun üzerine tıklayıp ‘Open Print Design’ aksiyonunu ekleyerek, çıktıda kullanacağımız Sql sorgusunu yazalım. Çıktıya atadığımız ismi Design Name kısmına yazalım. Aşağıdaki adımları takip ederek aksiyonu kaydedelim.
Sql Query Sorgusu:
SELECT
C.Category AS Category,
Book,Writer
FROM Books B WITH (NOLOCK)
LEFT JOIN Categories C WITH (NOLOCK) ON C.UserTableID=B.CategoryID
WHERE B.CategoryID='$PCategories$'
Print butonuna tıklayarak ‘Print’ aksiyonunu ekleyelim ve çıktıya atadığımız ismi (LIBRARY) Heading ve Design File kısmına ekleyelim.
Projeyi kaydedip Run Tuşu ile Client ekranına gidelim. Client ekranında sağ alt kısımda üç çizgi ikonunun üzerine gelindiğinde, belirlemiş olduğumuz Design Name ismi gözükmektedir. LIBRARY yazısı üzerine tıkladığımızda, çıktı tasarımını oluşturacağımız ekran açılacaktır.
Tasarımımızı oluşturmaya başlayalım.
Sol taraftaki Table aracını tasarım sayfasındaki TopMargin1 alanına sürükleyip bırakalım.
Text alanından isimlendirmelerini yapalım. İsimlendirme işlemi için, öncelikle hücre seçilmeli ve ardından Text alanına istenilen isim girilmelidir.
TableCell3 isimli hücreyi silelim. Bu işlem için, öncelikle hücre seçilmeli ve ardından 2 numara ile gösterilen alana tıklanmalıdır.
Tablo kullanılırken yanına hücre ekleme, altına veya üstüne yeni satır ekleme işlemi actions bölümü altındaki bloklara tıklanarak yapılabilir. Aşağıdaki görsel ile bu durum örneklendirilmiştir. |
Örnek olması için eklediğimiz alanı silip tasarımımızı oluşturmaya devam edelim,Sağ taraftaki menüden 'Ayarlar' sekmesine tıklanarak, 'ACTIONS' alanından 'Data Member' seçilmelidir. (Data Member alanı gözükmüyor ise Properties yazısı altındaki açılır kutudan XtraReport (Report) seçeneği seçilmelidir). Çıktı tasarımı içindeki alanlara veriler, Studio üzerinden oluşturulan 'Open Print Design' aksiyonu içerisine yazılan sorgudan alınacağı için, Data Member olarak 'Octopus_Table_Detail' seçilmelidir.
Bu aşamadan sonra aşağıdaki görseldeki numaraları takip ederek, Detail bandına ikinci bir tablo sürükleyelim, gereksiz kullanılmayacak alan varsa silelim, Detail bandını kısalım daha sonra Data Source ikonuna tıklayalım ve Octopus_Table_Detail’ e tıklayarak çıktıda gösterilmesi istenilen alanları ikinci bir tablo olarak sürüklediğimiz alanlar olan TableCell3 ve TableCell4 alanlarına sürükleyelim.
Detail bölümü içerisine eklenen Tablonun üst ve alt kısmında boşluk kalmaması gerekmektedir , boşluksuz olarak konumlandırılması gerekir. Boşluk kalması durumunda her bir satır arasına boşluk kalacağından tasarım iyi görünmeyecektir. |
Data Source'tan alınan veriler, Sorgudan dönen birden fazla değerin liste formatında, alt alta gösterilmesi istendiği için ilgili sütun değerleri Detail bölümüne eklenmelidir. |
TopMargin1 alanına kategori alanını çekmek için bir tablo aracı daha ekleyip düzenlemeler yapılmıştır. Daha sonra ekranın sol üst tarafında bulunan üç çizgi ikonuna tıklayalım. Karşımıza Menü seçenekleri çıkacaktır. Ardından Save seçeneğine tıklayıp, tasarım ismini yazalım ve çıktı tasarımımızı kaydedelim.
Save Report ekranı açıldığında, 'Open Print Design' aksiyonu içinde belirlediğimiz 'Design Name' ismi, tamamen aynı şekilde, yukarıda gösterilen iki numaralı alana yazılmalıdır. |
Client tarafında LIBRARY ekranımıza gelelim, açılır kutudan kategori seçip Print Butonuna tıklayalım. Oluşturduğumuz çıktı tasarımı ön izlemesi aşağıdaki gibi görüntülenecektir.
Client Tarafında Çıktı Tasarımı Oluşturma:
Client tarafında oluşturulan çıktı tasarımının çalışması için çıktıyı hazırladığımız ekran mutlaka ’form’ tipinde olmalıdır. Öncelikle Form tipinde olan Kategori Tanımlama Kartı ekranına ‘Print’ isminde bir buton ekleyelim.
Daha sonra yeni bir çıktı tasarımı oluşturmak için aşağıdaki adımları takip ederek çıktı tasarımı sayfasını açalım.
Tasarım sayfası açıldıktan sonra, çıktı tasarımında gösterilmek istenen verileri dönecek SQL sorgusunu eklemek için ekranın sol üst köşesinde bulunan üç çizgi ikonuna tıklayalım. Karşımıza Menü seçenekleri çıkacaktır. Ardından 'Add New Field' seçeneğine tıklayalım. Aşağıdaki görselde 'Add New Field' ekranı gösterilmektedir.
Bu ekranda, öncelikle sorgumuza vermek istediğimiz ismi 'Field Name' alanına yazalım. Bu örnekte, 'LIBRARY_NEW' olarak isimlendirme yapılmıştır. Bu isim, daha sonra Studio üzerinden 'Print' butonunun aksiyonunda kullanılacaktır. Böylece buton, hangi çıktıyı yazdırması gerektiğini doğru bir şekilde tespit edebilecektir.
Daha sonra Type alanından 'Datasource' seçeneğini seçelim. 4 numaralı alanda SQL sorgumuzu yazalım. Save butonu ile kayıt işlemimizi tamamlayıp ilgili pencereyi kapatalım.
Add New Field Sorgusu:
SELECT
C.Category AS Category,
Book,
Writer
FROM Books B WITH (NOLOCK)
LEFT JOIN Categories C WITH (NOLOCK) ON C.UserTableID=B.CategoryID
WHERE C.Category= '$PCategory$'
Sorguyu kaydettikten sonra, çıktıyı aşağıdaki adımları takip ederek kaydedelim. Çıktı ismi Field Name alanına yazdığınız isimle aynı olmak zorundadır. Tasarım sayfasını kapatıp tekrar açalım.
Tasarım sayfasını Client ekranından yukarda gösterildiği şekilde açalım. Ardından aşağıda gösterilen resimdeki gibi tasarımımızı oluşturalım. Properties alanı XtraReport (Report) seçili iken Data Member alanında, Add New Field bölümünde eklemiş olduğumuz sorgumuzun ismi gözükecektir. Çıktı tasarımı içindeki alanlara veriler bu sorgudan alınacağı için, Data Member alanında LIBRARY_NEW seçeneğini seçelim. Ardından Data Source ikonuna tıklayıp ilgili alanları görüntüledikten sonra tasarımımıza alanları sürükleyip bırakalım.
Report File List isimli pencerede daha önce Studio tarafında Open Print Design aksiyonu ile oluşturduğumuz çıktı tasarımı da görülmektedir. Fakat Studio tarafında oluşturulan çıktı tasarımı Report File List penceresinden açılıp kaydedilmemelidir. Bu pencereyi Client tarafından hazırladığımız çıktıları açmak ve düzenlemek için kullanıyoruz. |
Çıktı tasarımımızı aşağıdaki adımları takip ederek mutlaka kaydedelim. Kaydetmeden ekranı kapattığınız takdirde, tasarımda yaptığınız değişiklikler kaydedilmemiş olur ve tekrar açıldığında önceki haliyle görüntülenir.
Client tarafında oluşturulan çıktı tasarımının çalışması için çıktıyı hazırladığımız ekran mutlaka ’form’ tipinde olmalıdır. Aynı zamanda Print butonuna basmadan önce ekranın UserTableID değeri dolu olmak zorundadır. Bu işlemi, ekran üzerinde daha önce oluşturulmuş bir kaydın bilgilerini forma doldurarak sağlayabiliriz. Bu örnekte listede satıra tıklandığında seçili satırın bilgisi forma doldurulacak şekilde aksiyon eklenmiştir. Aksiyonun Value Area alanında All Form seçeneği seçilmiştir. Böylece ekrandaki Category ve UserTableID alanlarına veri dolmaktadır. Daha sonrasında ’Print’ butonuyla çıktı açılır. |
Studio ekranına gidelim. Print isimli butonumuza Print aksiyonu ekleyerek, yazdırmak istediğimiz çıktı tasarımının ismini Design File ve Heading alanlarına yazalım. Form alanında, çıktı için kullanılan yani çıktıdaki verilerin geldiği kaynak formun ismini seçelim ve aksiyonu kaydedelim. Projeyi de kaydedip Run tuşu ile Client ekranına gidelim.
Client ekranında listeden bir tane kategori ismi seçip, yukardaki text alanın dolmasını sağladıktan sonra ‘Print’ butonuna basalım. Yazdırma işleminin ön izlemesini aşağıdaki gibi görebilirsiniz. İlgili kategoriye ait kayıtlı kitaplar çıktınızda listelenmektedir.