C# DevExpress CheckedListBoxControl'den Seçili Bilgileri Alma Sorunu Çözümü

Eylül 12, 2017 Mustafa BÜKÜLMEZ 0 Yorum


Selamlar Arkadaşlar,
Bu dersin içeriği;
  1. CheckedListBoxControl'ü SQL dem doldurduğumuzda  ve işaretlenmiş verileri alırken yaşanan sorunun çözümü
Arkadaşlar, DevExpress CheckedListBoxControl kullandığınızda verileri özellikler kısmından colleciton'a yazıp kullandığınızda bir sorun yaşamadan işaretli verileri alabiliyorsunuz. Ama çok fazla ise... Tek tek eklemek çok uzun sürecekse bunu bir tabloya bağlarız ve otomatik dolar değil mi? İşte sorun burada çıkıyor ya!..
Şimdi verileri SQL den çekip Combox, Listbox gibi nesnelere doldurmanın iki yöntemi var. Öncelikle ben, bende çalışmayan yöntemi göstereceğim.
C#
DataTable dt =  new DataTable();
// datat table doldurma işlemleri

clb_ait_oldugu_kategoriler.DataSource = dt;
clb_ait_oldugu_kategoriler.DisplayMember = "Kategori_adi";
clb_ait_oldugu_kategoriler.ValueMember = "Kategori_RECno";            
İlk yöntem bu şekilde. Bu kodlar ile veriler, sorunsuz bir şekilde CheckedListBoxControl'e doluyor. Ama verileri şeçerken ki şöyle ;
C#
string kategoriler ="";
foreach (CheckedListBoxItem item in clb_ait_oldugu_kategoriler.Items)
            {
                if (item.CheckState == CheckState.Checked)
                    kategoriler += item + ",";
            }
if şartı her zaman false dönüyor. Nedense seçili olan itemleri algılamıyor. Nedenini bir türlü çözemedim. Ancak verileri alma yöntemide hiçbir sorun yok. Verilerin gelmemesi sorunun asıl sebebi verileri doldurma şeklinde!...
Evet yukarıda dediğimiz gibi ilk yöntemle doldurduğumızda seçilenleri algılamıyor. Şimdi sorun vermeyen doldurma şeklini görelim;
C#
for (int i = 0; i < dt.Rows.Count; i++)
{
    clb_ait_oldugu_kategoriler.Items.Add(dt.Rows["Kategori_adi"].ToString());
}
Bu şekilde doldurduğumuzda ise verileri sorunsuz bir şekilde alıyoruz.
İtiraf etmeliyim ki sorunu bu dersi yazarlem farkettim. Sanırım.. :D 
İlk yöntemle biz verileri dolduruyoruz ancak CheckedListBoxControl'e item olarak eklemiş olmuyoruz sanırım. Verileri aldığımız kodda eklenen verileri buluyor ama Checkeddurumunu alamıyor. 
Neyse artık bir önemi kalmadı sorunun. İkinci yöntemle direk item olarak eklediğimizde sorunsuz bir şekilde çalışıyor. Yani seçilmiş olan itemleri alabiliyoruz.
Bu dersimizde bu kadar arkadaşlar.
Diğer derslerimizde görüşmek üzere
Bol kodlu günler.
https://mustafabukulmez.com/

0 Yorum: