Forum

Combobox Selected V...
 
Bildirimler
Hepsini Temizle

Combobox Selected Value

12 Yazılar
4 Üyeler
0 Reactions
15.1 K Görüntüleme
(@Aliibrahim)
Gönderiler: 12
Active Member
Konu başlatıcı
 

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

 
Gönderildi : 09/12/2010 18:52

(@AhmetRende)
Gönderiler: 138
Estimable Member
 

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

 

 
Gönderildi : 09/12/2010 19:03

(@Aliibrahim)
Gönderiler: 12
Active Member
Konu başlatıcı
 

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

 
Gönderildi : 09/12/2010 19:16

(@FerideSOLMAZ)
Gönderiler: 72
Trusted Member
 

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.

 
Gönderildi : 09/12/2010 19:21

(@Aliibrahim)
Gönderiler: 12
Active Member
Konu başlatıcı
 

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ı ?

 
Gönderildi : 09/12/2010 19:36

(@FerideSOLMAZ)
Gönderiler: 72
Trusted Member
 

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.

 

 
Gönderildi : 09/12/2010 20:33

(@Aliibrahim)
Gönderiler: 12
Active Member
Konu başlatıcı
 

Feride Hanım;

Acaba bunu bi örnekle açıklamanız mümkünmü ?

 
Gönderildi : 10/12/2010 00:58

(@FerideSOLMAZ)
Gönderiler: 72
Trusted Member
 

Merhaba Ali Bey,

veritabanında ki tablo yapınızı yapmak istedikleriniz ile birlikte yazarsanız yardımcı olmaya çalışırım.

 
Gönderildi : 10/12/2010 13:43

(@Aliibrahim)
Gönderiler: 12
Active Member
Konu başlatıcı
 

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...

 
Gönderildi : 10/12/2010 16:28

(@FerideSOLMAZ)
Gönderiler: 72
Trusted Member
 

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";
            }

 
Gönderildi : 10/12/2010 20:17

(@Aliibrahim)
Gönderiler: 12
Active Member
Konu başlatıcı
 

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...

 
Gönderildi : 10/12/2010 21:16

(@SelcukCAKIRCA)
Gönderiler: 2
New Member
 

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.

 
Gönderildi : 15/12/2018 00:22

Paylaş: