1. Anasayfa
  2. Nesne Tabanlı Programlama

C# Dersleri – DataGridView ComboBox Ekleme ve Kullanma

C# Dersleri – DataGridView ComboBox Ekleme ve Kullanma
0

dgvcomboboxekleme

 dataGridView1.ColumnCount = 3;
            dataGridView1.ColumnHeadersVisible = true;

            dataGridView1.Columns[0].HeaderText = "Öğrenci Adı";
            dataGridView1.Columns[1].HeaderText = "Soyad";           
            dataGridView1.Columns[2].HeaderText = "Adres";
            
            DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
            combo.Items.AddRange("10A", "And11A", "11C");
            combo.HeaderText = "Sınıf";            
            dataGridView1.Columns.Add(combo);
            int sayi = dataGridView1.Columns.Count-1;
            dataGridView1.Columns[sayi].DisplayIndex = 2;     

İlk olarak form üzerinde bir DataGridView ekliyoruz daha sonra form load olayına gelip yukarıdaki kodları yazıyoruz kodlarda sıraya ilk olarak DataGridView sütun sayısını belirleyip başlıkların görünür olacağını söylüyoruz, daha sonra DataGridView sütun başlıklarını ekliyoruz. Şimdi sıra geldi DataGridView’e combobox eklemeye bunun için DataGridViewComboBoxColumn sınıfından bir nesne üretip içine Eklenecek olan bilgileri ve sütun başlığını giriyoruz,dataGridView1.Columns.Add ile oluşturduğumuz combobox DataGridView’e eklenmiş oluyor ama son sütuna, eğer son sütun değilde arada bir yerde göstermek istiyorsanız dataGridView1.Columns[sayi].DisplayIndex satırında olduğu gibi görüntüleneceği sırayı seçebilirsiniz.

DataGridView’e Combobox ekledik peki bunu nasıl kullanacağız combobox’da değişiklik olduğunda bilgilere erişmek ve kullanmak istiyorsanız
ilk olarak DataGridView’in EditingControlShowing olayına

  ComboBox cb = e.Control as ComboBox; if (cb != null)
            {
                cb.SelectedIndexChanged -= new EventHandler(cb_SelectedIndexChanged);
                cb.SelectedIndexChanged += new EventHandler(cb_SelectedIndexChanged);
            } 

yazıyoruz burada nesne eğer combobox ise cb.SelectedIndexChanged isimli olayı tetikliyoruz ve bu olay içinde combobox içindeki bilgileri okuma işlemini yapıyoruz. seçili olan değer o satırdaki ilk hücrenin içine ekleniyor

   public void cb_SelectedIndexChanged(object sender, EventArgs e)
        {           
            var gecerli = dataGridView1.CurrentCellAddress;
            var gelen = sender as DataGridViewComboBoxEditingControl;
            DataGridViewTextBoxCell hucre = (DataGridViewTextBoxCell)dataGridView1.Rows[gecerli.Y].Cells[0];
            hucre.Value = gelen.EditingControlFormattedValue.ToString();
        }
Bu İçeriğe Tepkin Ne Oldu?
  • 6
    ba_ar_l_
    Başarılı
  • 0
    gayet_yi
    Gayet İyi
  • 1
    te_ekk_rler
    Teşekkürler
  • 2
    anlamad_m
    Anlamadım
  • 6
    yetersiz
    Yetersiz
Subscribe
Bildir
guest

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

0 Yorum
Inline Feedbacks
View all comments