
Aralık 24, 2009 16:02 by
molks
Neden microsoft'u seviyorum sorusuna birçok cevap verebilirim ancak bunlardan en ağır basanı yazılım geliştirmeyi kolaylaştırmak adına her zaman bize yenilikler sunması.Bence bu gerçekten önemli çünkü bir yazılımcı olarak defalarca uzun uzadıya yazdıgımız kodları bazen basit yollardan gerçekleştirmek isteyebiliyoruz.Benim bu konuda prensibim kulağımı tersten kaşımadan , basit yolu öğrenmeye çalışmamak çünkü işin mantıgını anlamak kendi algoritmanı kurabilmek demektir
Bugun ki yazımdada connected veya disconnected ortamdan uygulama tarafına çektiğim verileri basitçe kontrollere nasıl bind edebileceğimizi bir windows forms app üzerinden örneklemeye çalışacağım.
Düşünün ki bir listbox gibi liste kontrolünüz ve 4 tanede textbox'ınız var.Liste kontrolünden seçtiğiniz değere göre textbox'daki veriler değişecek.Örneğin listbox dan müşterinin ıd si seçilecek , textboxlarda seçilen ID ye göre bilgiler dinamik olarak değişecek.Nasıl yaparız ?
Lİstbox'a customerID leri DataReader veya Datatable kullanarak atarız , listbox ın selectedIndexChanged event inde seçilen MusteriID yi yakalaıp o id ye göre yeniden DataReader ile veri çeker textboxlara tek tek bu değerleri set leriz. Peki birde form üzerine 2 tane buton attık ve ileri deyince bir sondaki satırın , geri deyince bir önceki satırın textbox larda filtrelenerek gösterilmesini istiyoruz.Eh iş baya bi uzamaya başladı.Eh o zaman daha fazla uzamandan databinding ile bu işi kolayca yapalım 
Ben şöyle bir form tasarladım ;

kodlarımızı yazalım ;

GetCustomer methodunda ki işlemleri zaten biliyoruz , VeriBağladada textbox kontrollerine kolonları bağladık. Text ile Textbox ların text property lerine verinin bağlanacağını söyledik , dt ile verikaynağını gösterdik ve en sonda veri kaynağındaki hangi kolondan değerlerin alıcagını söyledik.Varsayılan olarak tablodaki ilk satırdaki kolonlar textboxlara bağlandı ancak listbox danda ilgili satırın kolonu seçildiğinde o satıra ait kolonlar textboxlara dinamik olarak bağlanmaya devam ediyor.

sizde deneyerek test edebilirsiniz.Peki bir sonraki satırın textbox lara bağlanmasını butonlara basarak nasıl sağlıycaz ? Bunun içinde formumuza ait BindingContext özelliğini kullanacağız.

burada ileri veya geriye 1 kere basınca değişen index değerine göre kontrollerdeki bind edilen değerlerde değişiyor ve tabiyki listbox daki değerde değişiyor.Yazının kalanında görüşmek üzerine 
9241e471-3a8a-4ea0-bdb6-9ea4d9f97384|4|4.3