Dinamik CheckBox Array'lerine Erişim
- Ayrıntılar
- Üst Kategori: C#
- Kategori: Problemler ve Çözümler C#
- Perşembe, 31 Mart 2011 06:06 tarihinde oluşturuldu
- Super User tarafından yazıldı.
- Gösterim: 387
PROBLEM: Dinamik olarak oluşturduğumuz checkbox nesnelerinden hangilerinin sonradan kulllanıcı tarafından seçilip seçilmediğini nasıl anlarız? Çünkü veritabanına kaydedeceğiz.
ÇÖZÜM:
int sayi = 0; // foreach ile kullanıyorum for döngüsü niyetine
foreach (Control kontrol in this.groupBox1.Controls)
{
// this.controls yazsaydık form öğesindeki kontrol sayısı kadar,
// yani alt grup öğelerinin içlerindeki öğelere bakmaz.
// benim oluşturduğum checkboxlar groupbox1 içerisinde olduğundan,
// ki orada bu checkboxlardan başka nesne yok,
// this.groupBox1.Controls yazdım ki onların sayısını öğreneyim.
// kaynak: http://bytes.com/topic/c-sharp/answers/870039-checkbox-array-access-through-index
if (kontrol is CheckBox) // aslında bizim zaten sadece tek tip nesnelerimiz var ancak iyi bir ayırdedici.
{
if (((CheckBox)kontrol).Name.ToString().Equals("kutu" + sayi.ToString())) // benim dinamik nesnelerimin isimleri kutu1,kutu2,... şeklinde.
{
if (((CheckBox)kontrol).Checked == true) // sadece seçili olan kutular.
{
// örneğin label4 etiketine bunların Text değerlerini yazdırıyoruz.
// gerçekte tümünün check edilip edilmediğini veritabanına
// kaydetmek için kullanıyorum.
label4.Text += sayi.ToString() + "." + ((CheckBox)kontrol).Text.ToString() + " ";
}
}
}
sayi++; // sayaç lazımdı. for döngüsü gibi foreach kullanırken 1 artırmam lazım dinamik nesnelerimi belirtmek için.
}
sayi = 0; // işimiz bitince neolu ne olmaz sayacı sıfırlayalım.
Kaynak: http://bytes.com/topic/c-sharp/answers/870039-checkbox-array-access-through-index
checkbox array csharp

foreach (Control kontrol in this.groupBox1.Controls)
{
// this.controls yazsaydık form öğesindeki kontrol sayısı kadar,
// yani alt grup öğelerinin içlerindeki öğelere bakmaz.
// benim oluşturduğum checkboxlar groupbox1 içerisinde olduğundan,
// ki orada bu checkboxlardan başka nesne yok,
// this.groupBox1.Controls yazdım ki onların sayısını öğreneyim.
// kaynak: http://bytes.com/topic/c-sharp/answers/870039-checkbox-array-access-through-index
if (kontrol is CheckBox) // aslında bizim zaten sadece tek tip nesnelerimiz var ancak iyi bir ayırdedici.
{
if (((CheckBox)kontrol).Name.ToString().Equals("kutu" + sayi.ToString())) // benim dinamik nesnelerimin isimleri kutu1,kutu2,... şeklinde.
{
if (((CheckBox)kontrol).Checked == true) // sadece seçili olan kutular.
{
// örneğin label4 etiketine bunların Text değerlerini yazdırıyoruz.
// gerçekte tümünün check edilip edilmediğini veritabanına
// kaydetmek için kullanıyorum.
label4.Text += sayi.ToString() + "." + ((CheckBox)kontrol).Text.ToString() + " ";
}
}
}
sayi++; // sayaç lazımdı. for döngüsü gibi foreach kullanırken 1 artırmam lazım dinamik nesnelerimi belirtmek için.
}
sayi = 0; // işimiz bitince neolu ne olmaz sayacı sıfırlayalım.
Bilişim Haberleri
Windows Live Hotmail Türkiye Kullanım Sayıları
Internete her gün 32 milyon vatandaşımız erişiyormuş ve de 20 milyon kişi hem Hotmail mail hesabı hem de MSN instant messaging kullanıyormuş.
turkerHR Yayınlandı!
Kodları tamamen bana ait olan turkerHR yazılımımı hemen indirip kurup kullanabilirsiniz. Kaynak kodları herkese açık, şimdilik biraz kötü görünebilir, iyileştireceğim.
Joomla 1.6.1 Güvenlik Sürümü Yayınlandı
Joomla 1.6 kullananların 1.6.1 sürümüne güncelleme yapmaları gerekiyor güvenlik gereği.
PayPal ile Türk Lirası Kullanabiliriz
PayPal’ın ne zaman Türk Lirası ödemelerini kabul edeceğini merak ediyorsanız, artık ediyor.
Dış Linkler

