c# Desktop

Kompleks Veri Bağlama (Complex Data Binding)

Basit veri bağlama, bir kontrol nesnesine tek bir veri değerinin bağlanması işlemidir. Kompleks veri bağlama işlemi ise bir kontrol nesnesine birden çok veri değerinin bağlanması işlemidir. ListBox, ComboBox ve DataGridView kontrolleri, kompleks veri bağlanmasında en çok kullanılan kontrollerdir. Kompleks bağlamada veri bağlanacak olan kontrolün DataSource özelliği ile veri kaynağı belirtilerek bağlama işlemi gerçekleştirilir.
Bu uygulamada dizideki verileri ListBox kontrolü içinde gösterme işlemi yapılacaktır. Diziler konusunda döngülerle gerçekleştirilen işlem, bu uygulamada veri bağlama yöntemi ile gerçekleştirilecektir.
Adım 1: Görsel 5.23’teki gibi form tasarımını yapınız ve kontrollere name değerlerini veriniz.
Adım 2: Veri Bağla butonu Click olayında bir dizi oluşturarak dizinin değerlerini ListBox kontrolü içinde göstermek için veri bağlama işleminin kodlarını yazınız.
private void btnVeriBagla_Click(object sender, EventArgs e)
{
string[] diller = { “C#”, “Java”, “Python”,”Delphi”};
listeVeriler.DataSource = diller;
}
Bu uygulamada ArrayList koleksiyonu içine sınıf nesnesi eklenerek ListBox içinde gösterilecektir.
Adım 1: Görsel 5.24’teki form tasarımını yapınız ve kontrollere name değerlerini veriniz.
Adım 2: Kitaplar adında bir sınıf oluşturunuz ve bu sınıfın özelliklerini belirleyen kodlamaları yapınız.
class Kitaplar
{
public string KitapAdi { get; set; }
public string KitapYazari { get; set; }
public string KitapTuru { get; set; }
}
Adım 3: Veri kaynağı olarak kullanılacak ArrayList koleksiyonunu global olarak oluşturunuz.
ArrayList kaynakVeri = new ArrayList();
Adım 4: Kitap Ekle butonu Click olayında Kitaplar sınıfından üretilen nesne kullanılarak sınıfın özelliklerine değer aktarımını ve nesneyi ArrayList koleksiyonuna ekleme işlemini yapınız.
private void btnEkle_Click(object sender, EventArgs e)
{
Kitaplar kitap = new Kitaplar();
kitap.KitapAdi =txtKitapAdi.Text;
kitap.KitapYazari = txtKitapYazari.Text;
kitap.KitapTuru = txtKitapTuru.Text;
kaynakVeri.Add(kitap);
}
Adım 5: Listele butonu Click olayında ListBox kontrolüne ArrayList nesnesini bağlayınız. ListBox kontrolüne bağlanan veriler içinden KitapAdi özelliğinin gösterilmesini sağlayan kodlamaları yapınız.
private void btnListele_Click(object sender, EventArgs e)
{
listeVeri.DataSource=null;
listeVeri.DataSource = kaynakVeri;
listeVeri.DisplayMember = “KitapAdi”;
}
Bu uygulamada ComboBox kontrolü ve List koleksiyonu kullanılarak veri bağlama işlemleri gerçekleştirilecektir.
List koleksiyonuna plaka numarası ve şehir ismi özelliğine sahip sınıf nesnesi eklenerek ComboBox kontrolü içinde gösterme işlemi yapılacaktır.
Adım 1: Görsel 5.25’teki form tasarımını yapınız ve kontrollere name değerlerini veriniz.
Adım 2: List koleksiyonuna eklenecek nesneler için sınıf oluşturunuz ve bu sınıfın özelliklerini belirleyen kodlamaları yapınız.
class Sehirler
{
public string Plaka { get; set; }
public string SehirAdi { get; set; }
}
Adım 3: Kullanılacak List koleksiyonunu global olarak oluşturunuz.
List<Sehirler> listSehirler = new List<Sehirler>();
Adım 4: Şehir Ekle butonu Click olayında Sehirler sınıfından üretilen nesne kullanılarak sınıfın özelliklerine değer aktarımı yapıldıktan sonra List koleksiyonuna ekleme işleminin kodlarını yazınız.
private void btnEkle_Click(object sender, EventArgs e)
{
Sehirler sehir = new Sehirler();
sehir.Plaka = txtPlaka.Text;
sehir.SehirAdi = txtSehirAdi.Text;
listSehirler.Add(sehir);
Bagla();
}
Adım 5: Bagla() ismindeki metot ile List koleksiyonunun ComboBox kontrolüne veri bağlama işlemini gerçekleştiriniz.
private void Bagla()
{
cbSehirler.DataSource = null;
cbSehirler.DataSource = listSehirler;
cbSehirler.DisplayMember = “SehirAdi”;
cbSehirler.ValueMember = “Plaka”;
}
Bu uygulamada DataGridView kontrolü ve List koleksiyonu kullanılarak veri bağlama işlemleri gerçekleştirilecektir. List koleksiyonuna öğrenci numarası, adı ve sınav notu özelliklerine sahip sınıf nesnesi eklenerek DataGridView kontrolü içinde gösterme işlemi yapılacaktır.
Adım 1: Görsel 5.26’daki form tasarımını yapınız ve form içindeki kontrollere name değerlerini veriniz.
Adım 2: Form kod görünümüne geçerek Ogreciler isminde bir sınıfın özelliklerini oluşturan kodlamayı yapınız.
class Ogrenciler
{
public int Numara { get; set; }
public string AdSoyad { get; set; }
public int DersNotu { get; set; }
}
Adım 3: Ogrenciler sınıfından nesneleri saklayacak liste isminde bir List koleksiyonunu global olarak oluşturunuz.
List<Ogrenciler> liste = new List<Ogrenciler>();
Adım 4: Ekle butonu Click olayına Ogrenciler sınıfından üretilen nesne kullanılarak sınıfın özelliklerine değer aktarıldıktan sonra List koleksiyonuna ekleme işleminin kodlarını yazınız.
private void btnEkle_Click(object sender, EventArgs e)
{
Ogrenciler ogrenci = new Ogrenciler();
ogrenci.Numara = int.Parse(txtNumara.Text);
ogrenci.AdSoyad = txtAdSoyad.Text;
ogrenci.DersNotu =int.Parse(txtDersNotu.Text);
liste.Add(ogrenci);
Bagla();
}
Adım 5: Bagla() ismindeki metot ile List koleksiyonunu DataGridView kontrolüne veri bağlama işlemini gerçekleştiriniz.
private void Bagla()
{
gridListe.DataSource = null;
gridListe.DataSource = liste;
}
Adım 6: DataGridView kontrolü içindeki hücrelerin Double Click olayında çift tıklanan hücrenin bulunduğu satırdaki bilgileri TextBox kontrollerine aktaran kodlamayı yapınız.
private void gridListe_CellDoubleClick(object sender,DataGridViewCellEventArgs
e)
{
txtNumara.Text = gridListe.CurrentRow.Cells[0].Value.ToString();
txtAdSoyad.Text = gridListe.CurrentRow.Cells[1].Value.ToString();
txtDersNotu.Text = gridListe.CurrentRow.Cells[2].Value.ToString();
}

 


İlgili Makaleler
Basit Veri Bağlama (Simple Data Binding)
Veri Girişi Doğrulama (Input Validation)
TabControl Panelini Kullanarak Lokantalar İçin Müşteri Siparişi Alan c# Form Uygulaması
Kompleks Veri Bağlama (Complex Data Binding)
c# Programında Bigpara Sayfasından Borsa Verilerini Selenium Kütüphanesini Kullanarak Çekme
Veri Girişi Maskeleme (MaskedTextBox)
Yıkıcı Metotlar (Destructors)
Konsol Ekranında Kod Yazma ve Çalıştırma
Kaçan Buton Oyununu Yapan c# Uygulaması
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Kodlama
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Form Sınıfı
Form Sınıfına Ait Bazı Olayların ve Özelliklerin Kullanılmasına Ait Örnek Uygulama
Verilen İki Matrisi Çarpan Programı c# Dilinde Form Ortamında Yapınız
Tombala Oyununu Yapan Uygulamayı c# Dilinde Kodlama1
Metodu Sonlandırma
GroupBox Paneliyle Gruplandırılan Bilgisayar Parçalarının Satışını Yapan c# Form Uygulaması
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
c# Console Uygulamalarında Timer Kullanımı
İkinci Dereceden Bir Bilinmeyenli Denklemin Köklerini Bulan c# Console Uygulaması

Yorum Ekle
   
Kötü
İyi