C# – DataGridView ComboBox Ekleme ve Kullanma
#1
C# – DataGridView ComboBox Ekleme ve Kullanma

[Resim: dgvcomboboxekleme.jpg]


Kod:
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



Kod:
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


Kod:
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();
    }
Bul
Alıntı


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  ComboBox’a Veritabanından Veri Çekme Ken 0 190 16-01-2016, Saat: 18:28
Son Mesaj: Ken
  Karakter Aralarına Virgül Ekleme Ken 0 187 16-01-2016, Saat: 18:23
Son Mesaj: Ken
  C# listbox’ta arama-ekleme-silme işlemi. Dynamix 0 173 08-01-2016, Saat: 20:46
Son Mesaj: Dynamix

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi
loading...