İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Yazılım
  4. Diğer Yazılım Konuları
Diğer Yazılım Konuları

C# Comboboxlardaki Integerları String Olarak Gösterme

Sereno21.07.20152 cevap2.573 görüntüleme
#1
Merhaba arkadaşlar,

C#'da bir program yazıyoruz ve kullanıcıya bazı ComboBoxlar sunuyoruz. ComboBox'ların içinde Stringler var ancak seçim yapıtığında tablomuzda int değerli bir sayı gözüküyor (Örneğin 0,1,2 vs).

Ben de tablomuzda int değil de daha önceden girilmiş ve kullanıcı tarafından seçilmiş Stringlerin gözükmesini istiyorum. Ayrıca il ve ilçe tablolarını SQL'den C# ComboBox'a nasıl aktarırım? Bu konuda açılmış başka bir konu varsa da link paylaşırsanız sevinirim. İyi forumlar!
Cevaplar
#2
Combobox'larda seçim yaptığınızda seçimin combobox'a ait SelectedIndex değerini okutuyorsunuz. Bunun yerine SelectedText değerini okutun. Yanlış anlamadıysam sorununuz çözülür. (Değerlerin) girildiğini varsayıyorum.
İkinci sorunuzu ben VB.Net ile benzer şekilde For-Next döngüsüyle yapmıştım. SQL Server CE kullanmıştım. (Sürümü hatırlamıyorum.)

VeriBindingSource.MoveFirst
Dim i as long
For i=0 to VeriBindingSource.Count-1
degerComboBox.Items.add (VeriBindingSource.current("Ilceler") )'Tabloda Ilceler alanı olduğunu varsayıyorum
VeriBindingSource.MoveNext
Next

Bunu C# koduna dönüştürebilirsiniz. Ne de olsa ikisi de kardeş diller :)
#3
Veri tabanında il ve ilçeler adında iki tane tablo olsun. (Ancak ilçe tablosunun, il tablosu ile ilişkili bir alanı mutlaka olsun. il plaka no veya il adı gibi.)

try
{
if (con.State == ConnectionState.Closed) con.Open();
OleDbCommand cmd = new OleDbCommand();
OleDbDataReader oku;
cmd.Connection = con;
cmd.CommandText = "Select il_ad from iller";
oku = cmd.ExecuteReader();
while (oku.Read())
{
comboBox2.Items.Add(oku[0]);
}
}

catch (Exception ex)
{
MessageBox.Show("Hata -->" + ex.Message);
}

Bu try-catch blogunu formun loadına yazdığın zaman bağlanmış olduğun veri tabanının iller tablosundan 81 ilin adını(il alan adı da "il_ad" olarak geçiyor benim vt de) combobox2 ye yüklüyor.

-----------------------------------------------------------------

try
{
if (con.State == ConnectionState.Closed) con.Open();
OleDbCommand cmd = new OleDbCommand();
OleDbDataReader oku;
cmd.Connection = con;
cmd.CommandText = "Select ilce_ad from tbl_ilce where il_ad='" + comboBox2.SelectedItem + "'";
oku = cmd.ExecuteReader();
while (oku.Read())
{

comboBox3.Items.Add(oku[0].ToString());
}

}

catch (Exception ex)
{
MessageBox.Show("Hata -->" + ex.Message);
}

bu try-catch bloğunu da il isimlerini eklediğin combobaxın (burdaki örneğe göre combobox2'nin) SelectedIndex eventine ekliyosun. Bu blok senin seçtiğin il adına göre seçtiğin anda ilçe comboboxına ilçelerin listesini yükleyecek.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.