Form içerisinde drop down box üzerinden seçim yaparak değer atamak istenildiği durumlarda kullanılır.
Bu form elemanına sabit değerler, Sql Query ile dinamik değerler veya Xpoda Addon'dan alınan bilgiler getirilebilir. Drop down box form aracına tıklandığında, içerisine gönderilen değerler, gönderim sırasına göre getirilerek kullanıcıya seçim yapma imkânı verir.
Araç Kutusundaki Görünümü | Free Formdaki Görünümü | Responsive Formdaki Görünümü |
Uyumluluk
Free Form | Responsive Form | Mobile |
Drop Down Box aracının özellikleri:
Type(Alan Türü): Eklenilen form aracının alan türünü gösterir. Burada yer alan değer değiştirilemez.
Name(Alan İsmi): Veri tabanında oluşacak olan alanın ismi yazılır.
Info Text(Bilgi Metni): Client tarafında, eleman içine nasıl bir bilgi girileceği yönünde bilgilendirme metni yazılabilir.
Field Type: Drop down box içerisine gelen verilerinin nasıl görüneceğini belirlemek için bu alandan seçim yapılır.
1)Combo Box Seçili ise: Form içerisinde drop down box aracı üzerinden seçim yaparak değer atamak istenildiği durumlarda kullanılır. Bu form elemanına sabit değerler, Sql Query ile dinamik değerler veya Xpoda Addon'dan alınan bilgiler getirilebilir. Drop down box aracına tıklandığında, içerisine gönderilen değerler, gönderim sırasına göre getirilerek kullanıcıya seçim yapma imkânı verir.
2)Drop Down Box Seçili ise: Drop Down Box özelliği, Combo Box’tan farklı olarak kullanıcıya arama (search) özelliği sunar ve aşağıda gösterildiği gibi default olarak ilk veriyi drop down box form aracında görüntüler. (İstanbul)
3)Multiple Column Seçili ise: Multiple Column özelliği diğer drop down box form araçlarına kıyasla daha fazla sütun içeren verileri gösterebiliyor. Ancak Drop Down Box ve Combo Box özelliğinden farklı olarak, Data Text Field ve Data Value Field alanlarının doğru şekilde ayarlanması gerekmektedir. Aksi taktirde '[object Object]' hatası alınabilir.
İlk olarak Xpoda Studio ekranında ilgili componentin üzerine tıklanır daha sonra özellikler ikonuna tıklanır, Field Type alanı ‘Multiple Column’ seçilir. Field Style alanı SQL Query seçildiği için Sql Server alanına sql sorgusu yazılır. Son olarak Data Value Field ve Data Text Field alanları zorunlu olarak girilmelidir.
Data Value Field ='UserID' → Arka planda kullanılacak benzersiz kimlik değeri.
Data Text Field = 'UserFullName' → Kullanıcıya gösterilecek isim bilgisi.
Xpoda Studio ekranında kaydet butonuna tıklanır, kaydetme işlemi gerçekleştikten sonra Run butonu ile Client ekranına gidilerek drop down box görüntülenir.
Sql Query alanına yazılan örnek sorgu:
SELECT
1 AS UserID,
'User1' AS UserFullName,
'user1@xpoda.com' AS [Mail],
'Form1' AS UserOpenForm
UNION ALL
SELECT
2,
'User2',
'user2@xpoda.com'
'Form2'
UNION ALL
SELECT
3,
'User3',
'user3@xpoda.com',
'Form3'
Field Style(Alan Stili): Drop down box içerisine gelecek olan değerlerin nereden bilgi çekeceği (Sabit Değer, Sql Query veya Xpoda Addon) seçimi yapılır.
1)Field Style alanı ‘Constant Value’ seçildiyse:
Field Style alanından Constant Value değeri seçildiyse Values(Text*Value) alanına verilerinizi yazabilirsiniz.
Bu alana değerleri yazdığınızda, değerler aynı değerler olarak veri tabanına kaydedilir.
Aşağıdaki ekran, siz başka bir alana odaklandıktan sonra otomatik olarak görünecektir.
Veri tabanına kaydedilen değer kısmını kendiniz yazabilirsiniz. Bu yerde, ilk kısımlar Client ekranında görünür. İkinci kısım ise veri tabanına kaydedilir.
2)Field Style alanı ‘Sql Query’ seçildiyse:
Eğer Field Style alanında SQL Query seçili ise, SQL sorgu alanından bir sorgu yazıp veri tabanından istenilen veri çekilebilmektedir. Burada ilk veriler, veri tabanına kaydedilir. İkinci veri Client ekranında görünür.
Bir alan stili SQL Query seçildiğinde, veri tabanın da ki mevcut herhangi bir tablodan gelen bilgiler drop down box aracında listelenebilir. Burada önemli olan tablodan iki alan seçmemizdir. Yazdığımız ilk alan veri tabanına kaydedilen, yazdığımız ikinci alan ise drop down box aracında görünecek kısımdır.
Sorgu yazma işlemi kod yazmadan Xpoda sihirbazı ile yapılabilir. Aşağıdaki ekranda kırmızı ile işaretlenmiş kısma tıklandığında sihirbaz açılır ve alanlar sürükle bırak ile SQL sorgusuna dahil edilir.
Sihirbaz üzerine tıklamak aşağıdaki alanı açar. Sol tarafta tablolar mevcuttur. Gerekli tablonun içerisindeki alanları açmak için, istenilen tablo adının yanındaki oklara tıklamak yeterli olacaktır. İstenilen alanlar aşağıdaki gösterilen alana sürüklenip bırakılır.
Default Value(Varsayılan Değer): Buraya girilen değer, Client ekranında form aracının içine varsayılan olarak gelir.
Table Length(Tablo Uzunluk): Veri tabanında oluşacak olan alanın uzunluğu girilir. Proje kaydedildikten sonra bu alanda yapılan değişiklikler veri tabanını etkilemez.
Text Size(Metin Boyutu): Seçim kutusunda seçilecek olan değerlerin boyutu bu alandan belirlenir.
Minimum Characters(Minimum Karakter): Drop down box aracının içerisine çok fazla değer gönderildiğinde sistemin yavaşlamaması için minimum değer alanına bir sayı girilir. Örneğin, minimum karakter alanına 3 yazıldığını varsaydığımızda, drop down box içerisinde 3 karakter girildiği takdirde bu 3 karakteri içeren değerler filtrelenerek görüntülenecektir. 3 karakter girilmediği sürece herhangi bir değer listelenmeyecektir.
Form sayfası ilk açıldığında drop down box içerisinde değerler görünmemektedir. Drop down box içerisine 3 karakter girildiği takdirde uygun sonuçlar filtreli bir şekilde görünecektir. | |
Icon(Simge): Eklenecek olan alana bir ikon ataması yapılır, rengi ve konumu seçilir.
Text Fonts(Metin Yazı Tipleri): Yazı fontunun değiştirilmesi sağlanır.
Color(Renk): Form aracının içi ve/veya içindeki yazının rengini düzenler.
From Left / Top: Form aracının soldan ve üstten konumunun ayarlaması yapılır.
Format: Drop down box aracının, veri tabanı içerisinde tabloya hangi veri tipi ile oluşturulması isteniyorsa bu alandan seçilir. Boş bırakılırsa varsayılan olarak nvarchar veri tipinde oluşturulur.
Linked Object(Bağlı Nesne): Create New Data Object aksiyonu ile oluşturulan bir nesne elemanından değer getirilmesi sağlanır. Nesne elemanı çalıştığı zaman, nesne alanına göre bilgiler doldurulur.
Linked Object Area(Bağlı Nesne Alanı): Bağlı nesne alanının içindeki alanlardan seçim yapılır.
Create New Data Object aksiyonu ile oluşturulan nesne içerisinde bulunan sorgudaki kolon isimlerinin, Linked Object Area alanında görüntülenebilmesi için, nesne sorgusunda öncelikle sabit değer kullanılmalıdır. Sorgudan dönen kolon isimleri Linked Object Area alanında görüntülenecektir.
Nesne sorgusundaki ilgili kolon ismi, Linked Object Area alanında seçildikten sonra Create New Data Object aksiyonu içerisindeki nesne sorgusu tekrar parametrik hale getirilebilir.
Create New Data Object aksiyonuna gitmek için tıklayınız..
Values(Değerler): Bu alan Field Style alanında yapılan seçime göre değişmektedir.
Constant Value seçimi yapıldığında değerler alt alta yazılmalıdır.
* ifadesinden önce yer alan bilgi (Text bölümü), Client ekranında drop down box aracına tıklandığında kullanıcının göreceği bilgidir.
* ifadesinden sonra yer alan bilgi (Value bölümü), veri tabanında tutulacak olan değeri ifade eder.
Client ekranında drop down box aracına tıklandığında görüntülenecek değer ile drop down box aracından seçim yapıldığında veri tabanın tutulacak değerin aynı olması isteniyor ise bu alana sadece * ifadesinden önce yer alan bilginin (Text bölümü) yazılması yeterli olacaktır.
Sadece * ifadesinden önce yer alan bilgi (Text bölümü) ilgili alana girildiğinde, sistem, girilen bu bilgiyi otomatik olarak * ifadesinden sonraki alana (Value bölümü) kopyalayacaktır.
Client ekranında drop down box aracına tıklandığında kullanıcının ilgili metni görmesi, fakat drop down box aracından seçim yapıldığında veri tabanına rakamsal değer kaydedilmesi isteniyor ise;
* ifadesinden önce yer alan bilgi (Text bölümü) kısmına ilgili metin, * ifadesinden sonra yer alan bilgi (Value bölümü) kısmına rakamsal değer yazılabilir.
Field Style alanında yapılan seçim SQL Query ise buradaki alan değişecektir.
Sorgu ile dinamik değerler drop down box içerisine gönderilebilir. Bu gönderim sırasında sorgu yazılırken mutlaka iki alan(değer) gönderilmelidir. İlk yazılan değer veri tabanında tutulacak olan değer, ikinci değer ise son kullanıcının Client ekranında drop down box aracına tıkladığında göreceği değerdir. İki değer gönderilmediği takdirde Not Data Found ifadesi görüntülenecek ve herhangi bir sonuç dönmeyecektir.
Data Text Field: Drop down box aracı içerisindeki sorgudan, Client ekranında drop down box aracına tıklandığında kullanıcıya gösterilecek bilgiyi içeren alanın yazıldığı bölümdür.
Data Value Field: Drop down box aracı içerisindeki sorgudan, Client ekranında drop down box aracına tıklandığında veri tabanına kaydedilecek değeri içeren alanın yazıldığı bölümdür.
Tab Order No(Sekme Sıra No): Form aracının tab tuşundaki sıralamasını belirtir.
Multiple Selection(Çoklu Seçim): Drop down box içerisindeki değerler arasından birden fazla seçim yapılmasını sağlar.
Seçilen değerler veri tabanında virgülle ayrılarak tutulmaktadır. Örneğin Belgium ve Denmark seçenekleri seçilip kaydedildiğinde veri tabanında tutulacak olan bilgi: Belgium, Denmark
Multiple Selection özelliği kullanılırken, veri tabanına nvarchar veri tipinde kayıt atılmaktadır. Bu sebeple format bölümünden Text seçeneği seçilebilir veya format bölümü boş bırakılabilir. Format bölümü boş bırakıldığında sistem varsayılan olarak veri tabanına ilgili alanın veri tipini nvarchar olarak oluşturmaktadır.
Multiple Selection özelliği kullanıldığında veri tabanında tutulacak veri uzun olabileceği için, veri tabanında oluşacak olan alanın uzunluğunun girildiği Table Length değeri, yüksek yazılabilir. Maksimum 4000 olarak değer girilebilmektedir. |
Fit Horizontal(Yatay Sığdır): Kullanıcının ekranında form aracını yatay olarak tam ekrana sığdırır.
Pin Right(Sağa Sabitle): Form aracını sağa sabitler.
Display(Görünür): Form aracının Client ekranında görünmemesini sağlar.
Form Only(Sadece Formda): Form aracına girilen bilgileri veri tabanına kaydetmeyerek, sadece formda oluşmasını sağlar. Burada sonradan yapılan değişiklikler veri tabanını etkilemez.
Auto Fill(Otomatik Doldur): Client ekranında form açıldığında, drop down box içerisindeki sorgu arka planda çalışır ve drop down box içerisine verileri doldurur. Kullanıcı drop down box aracına tıkladığında direk drop down box da ki verileri görüntüleyebilir.
Bu özellik kapalı olduğunda, kullanıcı drop down box aracına tıkladığında, drop down box içerisindeki sorgu çalışır ve dönen veriler görüntülenir.
Selection Compulsory(Seçim Zorunlu): Bu özellik açık ise, drop down box içerisindeki seçeneklerden birinin seçilmesi zorunlu hale gelir. Kullanıcı, drop down box da tanımlı olmayan bir değer girmeye çalışırsa, sistem bu değeri otomatik olarak siler ve drop down box, içerisindeki ilk seçenek seçilmiş olarak görüntüler.
Drop Down Box aracının içerisinde kullanabilecek aksiyonlar
Form sayfasında her eklenen form elemanı için farklı aksiyonlar bulunmaktadır. Drop Down Box aracı için tanımlanmış olan aksiyonlar aşağıdaki gibidir.
- On Focus: Drop down box içine fare ile tıklandığında veya klavyeden enter tuşları ile gelindiğinde çalışır.
- On Blur: Drop down box içinden, başka bir elemana geçildiğinde çalışır.
- On Value Change: İçindeki değer değiştiğinde çalışır.
- Keyboard Input: Klavye ile herhangi bir işlem yapıldığında çalışır.
- Validation: Drop down box aracının içindeki değer değiştiğinde, değerin kontrolü için kullanılır.
- Icon Clicked: Form aracına ikon eklendiyse bu ikona tıklandığında çalışır.
Template Kullanımı:
Drop down box form aracına template eklemek için öncelikle drop down box form aracı seçilmeli, ardından drop down box üzerindeki Add Customization (No:3) seçeneğine tıklanmalıdır.
Combo Box aracının template özelliğinin sağlıklı çalışması için en fazla 3 alan eklenmelidir. Bu alanların değeri şu şekilde olmalıdır: İlk değer Value, İkinci değer Text, üçünde değer Image olacaktır. Birden çok alan eklenmek isteniyorsa Field Type alanından 'Multiple Column' seçeneği seçilmelidir. |
Ekranın sol tarafında, drop down box form aracının altında Template ekranı eklenmiş olarak görüntülenecek ve Template ekranı karşımıza çıkacaktır. Template ekranına aşağıdaki görseldeki gibi gerekli componentler sürüklenip bırakılır.
Drop Down Box form aracının SQL Query bölümündeki SQL sorgusu içinde bulunan, UserID ve UserFullName verisini template özelliğinde gösterebilmek için, dört tane Label form aracını template alanına sürükleyip bırakalım ve isimlendirelim. Bu dört Label aracının iki tanesi başlık, diğer ikisi tablodaki veriyi çekerken kullanacağımız alanlardır. Bu sebeple ilk iki Label aracına ID, Name yazdıktan sonra karşılarına eklediğimiz Label araçlarına $PUserID$ ve $PUserFullName$ ($Pxxxx$ formatında) (No:8,No:11) yazalım. Template aracımızın son hali aşağıdaki gibi olacaktır.
Veri çekeceğimiz alanlar için Template Field alanlarının doldurulması zorunludur. Aksi taktirde template özelliği çalışamayacaktır.(No:9,No:12)
Drop Down Box form aracının SQL Query bölümündeki SQL sorgusu içinde bulunan, XPODA_CLIENT_USERS tablosunda ki $PUserID$ gibi sayısal bir değer gösterileceği için Value seçeneği seçilmiştir. (No:9)
$PUserFullName$ Label alanı için, XPODA_CLIENT_USERS tablosundan Adı Soyadı gibi metinsel bir değer sonucu döndüğü için Text seçeneği seçilmiştir.(No:12)
Drop down form aracının Field Type özelliği ’Multiple Column’ olarak seçili ise, Template oluştururken, hangi sütuna template oluşturulacağını sistemin anlaması için 2. görseldeki Column Name alanı doldurulmalıdır. |