Merhaba, C# DevExpress ComboBoxEdit ve CheckedComboBoxEdit C# eğitim setime devam ediyorum. Bu dersimizde yine DevExpress nesneleri olan ComboBoxEdit ve CheckedComboBoxEdit üzerinden devam edeceğiz.
C# DevExpress ComboBoxEdit ve CheckedComboBoxEdit
İkisi de adından da anlaşılacağı gibi combobox nesnesidir ancak CheckedComboBoxEdit nesnesine eklenen itemler birer checkbox olarak ekleniyor.
C# DevExpress ComboBoxEdit
ComboBoxEdit temelde bildiğimiz bir ComboBox’tur ancak bana sorarsanız windows ComboBox nesnesinden daha kullanışsız. Windows ComboBox nesnesinde DisplayMember ver ValueMember özellikleri kullanabiliyoruz ama DevExpress ComboBoxEdit nesnesinde bunu kullanmak için fazladan iş yapıyoruz. Zorluğu hakkında bilgi almak için buradaki linki inceleyebilirsiniz.
Windows ComboBox nesnesinde DisplayMember ver ValueMember özelliklerini kullanarak itemin görünen adını ve değerini farklı şeyler verebiliyorduk. Örneğin Personellerin adlarını kullanıcıya gösterirken, arka planda seçilen personelin ID yada Kod bilgisini alabiliyorduk. Bunu DevExpress ComboBoxEdit nesnesinde yapamıyoruz. Üstelik itemleri de for döngüsü ile eklemek zorundayız.
private void Form1_Load(object sender, EventArgs e) { DataTable dt = GetTable(); for (int i = 0; i < dt.Rows.Count; i++) { comboBoxEdit1.Properties.Items.Add(dt.Rows[i]["Ürün"].ToString()); } } 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; }
Yukarıda örnek bir DataTable ve ComboBoxEdit nesnesine Ürün’leri nasıl ekleyebildiğimizi görebiliyorsunuz. Bu yönleri ile aslında pek kullanışlı değil benim açımdan. Ancak tüm projeyi DevExpress ile yapıyorsanız ve üstüne birde skinleri kullanıyorsanız windows nesneleri bu skinlerden etkilenmeyeceği için formda kabak ortada gibi kalacaklar ve hoş bir görüntü oluşturmayacaklar. :) Bu sebeple adını gösterip ID yada KOD bilgisi ile çalışmak istiyorsanız başka bir dersin konusu olacak olan LookUpEdit nesnesi kullanmamız gerekiyor.
C# DevExpress CheckedComboBoxEdit
CheckedComboBoxEdit nesnesi yukarıda bahsini verdiğim ComboBoxEdit nesnesinin CheckBoxEdit’li versiyonudur. Yani bu nesneye eklenen itemler birer CheckBoxEdit oluyorlar. Görelim…
Aradaki fark işte bu kadar. Bu nesneyi de anlatmışken, seçili olanları nasıl alacağımızı görelim. Forma eklediğim bir listboxEdit nesnesine seçilenleri ekleyelim.
private void checkedComboBoxEdit1_EditValueChanged(object sender, EventArgs e) { foreach (CheckedListBoxItem item in checkedComboBoxEdit1.Properties.Items) { if (item.CheckState == CheckState.Checked) listBoxControl1.Items.Add(item); } }
Kodlarımız bu kadar arkadaşlar. Bu konuyu hakkında bir kaç sorun için yazı yazmıştım. C# Eğitim seti sayfasında DevExpress başlığı altında görebilirsiniz.
C# DevExpress ComboBoxEdit ve CheckedComboBoxEdit 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 440. yazıdır…
Sağlıcakla ve takipte kalın. ;)
Hocam merhaba, şu şekilde nasıl yapabilirim açılır menünün istediklerimi tikli getirmesini istiyorum
Merhaba, For döngüsü içerisinde, eklemeden hemen sonra işaretleyebilirsin. Çünkü elinde index numarası var. Onu kullanabilirsin.