Merhaba, C# DevExpress LookUpEdit, GridLookUpEdit ve SearchLookUpEdit yazısı ile yeni DevExpress Nesneleri yazısı ile C# Eğitim setimize devam ediyoruz. Bu dersimizde LookUpEdit, GridLookUpEdit ve SearchLookUpEdit nesneleri ve farklarından bahsedeceğim.
C# DevExpress LookUpEdit, GridLookUpEdit ve SearchLookUpEdit
Bu nesneler temelde aynıdır dersem yalan söylemiş olmam. Bu nesneler arasındaki ilişkiyi en iyi şu ifade ile anlatabilirim sanırım.
LookUpEdit < GridLookUpEdit < SearchLookUpEdit
Bu üç nesne arasındaki en basiti LookUpEdit iken en gelişmişi SearchLookUpEdit nesnesidir.
Bu derste aşağıdaki DataTable örneği kullanılacaktır.
static DataTable GetTable() { DataTable table = new DataTable(); table.Columns.Add("Ücret", typeof(int)); table.Columns.Add("Ürün", typeof(string)); table.Columns.Add("Satıcı", typeof(string)); table.Columns.Add("Tarih", typeof(DateTime)); table.Rows.Add(60, "Klavye", "Mustafa", DateTime.Now); table.Rows.Add(50, "Mause", "Ali", DateTime.Now.AddDays(-1)); table.Rows.Add(100, "Hoparlör", "Mustafa", DateTime.Now.AddDays(-2)); table.Rows.Add(50, "Kulaklık", "Mustafa", DateTime.Now.AddDays(-3)); table.Rows.Add(250, "Monitor", "Ali", DateTime.Now.AddDays(-5)); return table; }
C# DevExpress LookUpEdit
Bir ComboBox nesnesi düşünün ki içerisinde bir DataGridView var. Aynen, LookUpEdit adı ile geçen tüm nesnelerde aynı şekilde açılır menü içinde gridview yer alıyor. Bu nesnemizde, yazıda bahsedeceğimiz üç nesne arasından en basit olanıdır. Görüntüsü ise şöyledir…
Gördüğünüz gibi açılır menü içerisinde bir gridview var. Bu en basitidir. Yani diğer nesnelere göre daha az özelliği var. Şimdi bu nesnenin sık kullanacağımız özelliklerine bakalım.
Properties ekranından Properties ‘in artısına tıklıyoruz.
DataSource, bu özelliğe LookUpEdit nesnesinde göstermek istediğimiz tablonun atamasını yapıyoruz.
lookUpEdit1.Properties.DataSource = data_table;
DisplayMember, bu özelliği mutlaka ayarlamalıyız. Eğer bu özelliği ayarlamazsak gridden bir satır seçtiğimizde görüntü aşağıdaki gibi olacaktır.
DisplayMember özelliği ayarlanırsa da aşağıdaki gibi görünür. Burada, görünmesini istediğimiz kolonun adını yazıyoruz. Biz burada tablomuzdaki Ürün adlı kolonu seçtik.
lookUpEdit1.Properties.DisplayMember = "Ürün";
ValueMember, bu özelliği de yine bir kolon adı ataması yapıyoruz. Bu şekilde LookUpEdit’te görünen kısım DisplayMember olurken, arka planda görünen adın Value yani değerini tutmuş oluyoruz. Önceki dersimizde DevExpress ComboBoxEdit’in Windows ComboBox’u arasındaki farkları anlatırken pek tercih etmediğimiz söylemiştim ve bu nesneyi söylemiştim..
Aynı örnekten yola çıkalım, projenizde Personel’in adını gösterirken arka planda kodunu tutmak istiyorsanız ComboBoxEdit yerine LookUpEdit kullanabilirsiniz.
lookUpEdit1.Properties.ValueMember = "Satıcı";
DisplayMember ve ValueMember olarak ayarlanan kolonlardaki, seçilen satıra ait bilgileri aşağıdaki gibi alabilirsiniz.
private void lookUpEdit1_EditValueChanged(object sender, EventArgs e) { string s1 = lookUpEdit1.Text; string s2 = lookUpEdit1.EditValue.ToString(); MessageBox.Show("Display Text: " + s1 + " || Value Text : " + s2); }
NullText, özelliğini [EditValue is null] yazısından kurtulmak için kullanıyoruz. Burada istediğinizi yazabilirsiniz. Örneğin Lütfen Bir Ürün Seçin…
Daha detaylı bilgi için tıklayabilirsiniz.
C# DevExpress GridLookUpEdit
Tabiki bu da bir LookUpEdit ancak açılır menü olarak gerçek bir GridControl nesnesi içerir. DevExpress GridContol nesnesinin tüm özelliklerine sahiptir diyebiliriz. Yani LookUpEdit nesnesinin gelişmiş bir sürümüdür. Görüntüsü aşağıdaki görselde olduğu gibidir. Görüntü olarak da LookUpEdit nesnesine göre daha gelişmiş olduğunu fark ettiriyor.
Sağ üst köşesindeki oka tıkladığınızda açılan pencerede DesingView’e tıkladığınızda, bu nesnede yer alan dahili GridControl nesnesinin tüm özelliklerini ayarlayabilirsiniz.
Bu şekilde de tıklanan satırdaki verileri alabiliriz.
private void gridLookUpEdit1_EditValueChanged(object sender, EventArgs e) { string s1 = gridLookUpEdit1.Text; string s2 = gridLookUpEdit1.EditValue.ToString(); MessageBox.Show("Display Text: " + s1 + " || Value Text : " + s2); }
Elbette bir LookUpEdit olduğundan dolayı LookUpEdit nesnesinin de tüm özelliklerini içinde barındırıyor. Bu sebeple bu nesneyi daha fazla açıklamayacağım.
Daha detaylı bilgi için tıklayabilirsiniz.
C# DevExpress SearchLookUpEdit
SearchLookUpEdit nesnesinin GridLookUpEdit nesnesinden farkı ise açılır menüsündeki GridControl nesnesinin bir arama kutusuna sahip olmasıdır.
Bir arama yapalım.
Gördüğünüz gibi bir a harfi yazdık ve hemen her kolonda içerisinde a harfi geçen yerleri sarı renkle işaretledi. Daha fazla harf yazarsak veriler filtrelenecektir
Nedense, tıklanan satırdaki verileri yukarıdaki gibi almak istediğimde doğru çalışmıyor. İnternette de biraz araştırdım ama bir sonuç bulamadım. Ayrıca çok fazla kullanımı olacğaını düşünmediğimden de üzerine düşmedim açıkçası…
Daha detaylı bilgi için tıklayabilirsiniz.
C# DevExpress LookUpEdit, GridLookUpEdit ve SearchLookUpEdit yazımda bu kadar arkadaşlar.
Bana destek olmak isterseniz, iletişim sayfamda verdiğim sosyal medya hesaplarımı takip edebilirsiniz.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız. Derslerime özel olarak hazırladığım Github Projeme bu bağlantıdan ulaşabilirsiniz…
Bu yazı, sitemdeki 441. yazıdır…
Sağlıcakla ve takipte kalın. ;)