6 Aralık 2017 Çarşamba

C# Windows Form - Combobox Linq İle Veri Ekleme

Merhaba Arkadaşlar,

Bu yazıda işinize yarayacak ve benim de uzun süre çözüm aradığım konuda küçük bir bilgi paylaşacağım. C# Windows Form uygulamasında diyelim ki personel tablomuza verileri eklerken personelin departmanı combobox listeden seçtiğimizi ve aynı zamanda uygulamada departman ekleme silme de yaptığımızı düşünelim. Buna göre veritabanında departman tablomuz da olmalıdır.

Departman Tablosu

Veri tabanından departman listesini combobox bağladığımızda resimdeki gibi olacaktır.



using (var context = new MuhasebeContext())
            {
                var departman = (from g in context.PersonelDepartmanlari orderby g.Tanim select new { g.Id, g.Tanim}).ToList();

                cbDepartman.DataSource = departman;
                cbDepartman.DisplayMember = "Tanim";
                cbDepartman.ValueMember = "Id";
}

DbContext sınıfından türetilmiş MuhasebeContext PersonelDepartmanlari varlığından verileri getirdik. Verileri toList() ile liste koleksiyonunda dönüştürdük. 

Diyelim ki biz personel listesini departman kriterine göre veya departman kriterini belirtmeden filtreleyeceğiz. Bunun için combobox listesinde "Seçim Yapılmadı" gibi bir eleman daha eklemeliyiz. 
Kodumuzu buna göre değiştirip.
using (var context = new MuhasebeContext())
            {
                var departman = (from g in context.PersonelDepartmanlari orderby g.Tanim select new { g.Id, g.Tanim}).ToList();
                departman.Add(new { Id = -1, Tanim = "Seçim Yok" });
                cbDepartman.DataSource = departman;
                cbDepartman.DisplayMember = "Tanim";
                cbDepartman.ValueMember = "Id";
}

Yani combobox resimdeki gibi olmalıdır.

İyi çalışmalar.

Hiç yorum yok: