İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# DevExpress LookUpEdit, GridLookUpEdit ve SearchLookUpEdit

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
+ - 0

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…

devexpress lookupedit

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.

devexpress lookupedit displaymember

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.

devexpress lookupedit displaymember 2

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…

devexpress lookupedit nulltext

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.

devexpress gridlookupedit 2

devexpress gridlookupedit

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.

devexpress searchlookupedit

Bir arama yapalım.

devexpress searchlookupedit 2

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

devexpress searchlookupedit 3

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. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)