Forum
Merhabalar...
Foruma ilk mesajımda müsadenizle bi sorum olucak.Son 2 haftadır bir Teknik Servis yazılımıyla uğraşmaktayım.Ben bu işin temelini almadım.Almamama rağmen C#'ta ya baya bir yol kadettim.Tek bir yerde takıldım.Acaba comboboxun selectedvalue şeçeneğini detaylı bir şekilde anlatabilirmisiniz?
Saygılarımla
Ali İbrahim
selected value arka tarafta her seçimde değerler saklar.
örneğin bir isim listeniz olsun ve o listeden bir isim seçtiniz. Ama databasede idlerle işlem yapiyorsunuz. Bu durumda value değeri kişinin id değeri olarak ayarlıyorsunuz. Yani comboboxi doldururken value değerinide ayrı olarak bind ediyorsunuz.
Sonrasında selected value size seçtiğiniz kişinin id bilgisini verir.
Bu sadece bir örnek tabikide;
Saygılar
Acaba küçük bir örnek verebilirmisiniz kod olarak ?
Örnek : 2 adet combobox olsun. İlk comboboxta "Forum" u tıklayınca, ikinci comboboxta "Çözümpark" yazsın.
Saygılar
Merhaba,
Combobox listesinden seçtiğiniz değerin value memberinde ne varsa onu döndürür size. SelectedItem.Value ile aynı sonucu döndürür, bildiğim kadarı ile.
Ben şu şekilde birsey kodlarım bildiğim kadarı ile ;
if (comboBox1.Text == "Anakart")
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=RMA;Integrated Security=true;");
con.Open();
SqlCommand com = new SqlCommand("select Sira,Marka from Anakart WHERE Marka='" + comboBox2.Text + "'", con);
com.ExecuteNonQuery();
SqlDataReader ard = com.ExecuteReader();
while (ard.Read())
{
comboBox2.Items.Add(ard.GetString(1));
}
comboBox2.DisplayMember = "Sira";
comboBox2.ValueMember = "Marka";
con.Close();
}
else
{
}
Acaba bu kod yanlışmı ?
Ali Bey,
kodunuzun gidişatına bakılırsa her combobox1 'den seçilen kayıt için if bloğu yazacakmışsınız gibi geldi bana. Bu doğru olmaz, ben olsam şöyle yapardım:
Marka ve ürün tablolarını bir view içerisinde ilişki kurarak bir araya getirin. Daha sonra
comboBox1'ın SelectedIndexChange olayında
select sorgusu yazın bu sorgunun where parametresine comboBox1'den seçilen kaydın value değerini verin. Daha sonra comboBox2' ye hangi sütunun gelmesini istiyorsanız o sütunu getirtebilirsiniz.
Ayrıca if bloğundan sonra veritabanı bağlantısı açmayın, bağlantıyı en başta açın bence.
Kolay gelsin.
Feride Hanım;
Acaba bunu bi örnekle açıklamanız mümkünmü ?
Merhaba Ali Bey,
veritabanında ki tablo yapınızı yapmak istedikleriniz ile birlikte yazarsanız yardımcı olmaya çalışırım.
Merhabalar Feride Hanım....
İlk önce Sql Server 2005 kullanmaktayım.2 adet tables var,birinin adı Anakart diğeride Anamarka.2 adette comboboxumuz var.İlk comboboxta Anakartı şeçtiğimizde combobox2 otomatik olarak Anamarka tablesını göstermesi lazım.
Umarım anlatabilmişimdir.Yardımlarınız için Çok Minnettarım...
Ali Bey,
comboBox1'in SelectedIndexChange olayına aşağıda ki kodu yazarsanız istediğiniz olacaktır.
Kolay gelsin.
Not : Anakart tablosunda ki kayıtların 3. sırasında Anakart bulunmaktadır.
şu satır bunu ifade eder : comboBox1.SelectedIndex == 2
/////////////////////////////////////////////////////
if (comboBox1.SelectedIndex == 2)
{
SqlCommand sorgu = new SqlCommand("SELECT * FROM AnaMarka ", baglanti);
sorgu.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sorgu;
DataSet ds = new DataSet();
da.Fill(ds);
comboBox2.DataSource = ds.Tables[0];
comboBox2.DisplayMember = "MarkaAdi";
comboBox2.ValueMember = "MarkaId";
}
Feride Hanım gerek göstermiş olduğunuz ilgiye gerek se yazmış olduğunuz kodlar için çok teşekkür ederim.Söylediğiniz gibi istediğim oldu.
Saygılarımla...
Ali Bey,
comboBox1'in SelectedIndexChange olayına aşağıda ki kodu yazarsanız istediğiniz olacaktır.
Kolay gelsin.
Not : Anakart tablosunda ki kayıtların 3. sırasında Anakart bulunmaktadır.
şu satır bunu ifade eder : comboBox1.SelectedIndex == 2
/////////////////////////////////////////////////////
if (comboBox1.SelectedIndex == 2)
{
SqlCommand sorgu = new SqlCommand("SELECT * FROM AnaMarka ", baglanti);
sorgu.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sorgu;
DataSet ds = new DataSet();
da.Fill(ds);comboBox2.DataSource = ds.Tables[0];
comboBox2.DisplayMember = "MarkaAdi";
comboBox2.ValueMember = "MarkaId";
}
Feride hanım merhaba,
Benim yukarıdaki olaya benzer bir yapım var ancak bende çalışmadı. Bendeki durum örneğin Combobox1 de Personel tablosundaki ad soyad var. Combobox2 ye personel tablosundaki departmanı yazdırmak istiyorum. Combobox1 de personel adını seçince combobox2 de departman hanesi otomatik gelmesini istiyorum. Yukarıdaki durumu yapınca isimler geliyor isim seçiyorum ancak görev hanesi otomatik dolmuyor. Combobox2 ye basınca tüm görev hanesi geliyor.