İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# DevExpress CheckedListBoxControl Veri Alma Sorunu

C# DevExpress CheckedListBoxControl Veri Alma Sorunu

C# DevExpress CheckedListBoxControl Veri Alma Sorunu

Merhaba arkadaşlar, C# DevExpress CheckedListBoxControl Veri Alma Sorunu dersi ile tarihin tozlu raflarından gelen derslere devam ediyorum. 😀 Bu dersimizde DevExpress ‘e ait olan CheckedListBoxControl’e yüklediğimiz verilerden, işaretlediklerimizi alamama sorununa değineceğim.

C# DevExpress CheckedListBoxControl Veri Alma Sorunu

Bu sorunun asıl kaynağı C# DevExpress CheckedListBoxControl veri yükleme işleminden kaynaklanıyor. Verileri yükleme şeklimizi klasik yöntem ile yaparsak işaretlenmiş verilerin Checked durumuna ulaşamıyoruz. Sorunun sebebini, eklenen verileri CheckedListBoxControl ‘e ait bir item olarak görmediği için alamadığını düşünüyorum.

Klasik yükleme şeklimiz şöyle oluyor.

DataTable dt =  new DataTable();
// datat table doldurma işlemleri

clb_ait_oldugu_kategoriler.DataSource = dt;
clb_ait_oldugu_kategoriler.DisplayMember = "Kat_Adi";
clb_ait_oldugu_kategoriler.ValueMember = "Kat_Kodu";

Bu şekilde yapılan yüklemelerde ( CheckedListBoxControl data bind ) işaretlenen verileri alamıyoruz. Bu durumda yükleme işlemini bir döngü aracılığı ile yaparsak;

for (int i = 0; i < dt.Rows.Count; i++)
{
    clb_ait_oldugu_kategoriler.Items.Add(dt.Rows["Kat_Adi"].ToString());
}

İşaretlenen verileri almakta bir sorun yaşamıyoruz.

Burada, yukarıda bahsettiğim gibi databind yaptığımızda verilerin sadece görüntü olarak orada olduğunu düşünüyorum. CheckedListBoxControl ‘un bir item nesnesi olmadığı için verilerin işaretlenme durumunu algılayamıyor.

Sorunun kaynağını düzelttikten sonra aşağıdaki yöntem ile rahatla işaretlenen verileri alabiliyoruz.

string kategoriler ="";
foreach (CheckedListBoxItem item in clb_ait_oldugu_kategoriler.Items)
            {
                if (item.CheckState == CheckState.Checked)
                    kategoriler += item + ",";
            }

 

Dikkat ettiyseniz buradaki sorunumuz aslında işaretlenen verileri alamamaktır. Ancak bu soruna sebep olan şey ise bambaşka bir durum. Bu gibi şeylere çok fazla rastlıyoruz. Bu sebeple karşımıza çıkan bir hatayı düşünmeden çözüm üretmeye kalkmak bize sorun olacaktır. Örneğin burada hemen CheckedListBoxControl ‘ü silip başka bir nesne de kullanabilirdik. Ancak bu yaptığımız tasarımımızı değiştirmemize neden olacak bir durumdur ve belki de hiç içimize sinmeyecek bir bir görüntüye sebep olacaktır.

 


Bu yazımızında sonuna geldik dostlar.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Sağlıcakla ve takipte kalın. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorum Yap