1 Kasım 2008 Cumartesi

BindingSource :

Diğer “view”lere göre daha fazlasını yapabilen veri bağlama türüdür.
Kullandığı kaynağı ,kendi “list”i olarak görür ve bu "list"teki navigasyonlara (ileri,geri,enson,ilk), satır değişikliklerine ve listenin satır seçimlerine veya aktif hale gelmesine karşı duyarlıdır.

BindingSource "construction" methotları():

dim bs as BindingSource
bs=new BindingSource

bs.datasource=DataSet
bs.datamember="Tablo"


BindingSource "Current" Methodu: Üzerinde bulunulan mevcut satırı açıklar.


BindingSource "Count" Methodu:Bize tablodaki satır sayısını döndürür.

BindingSource "AddNew" Methodu:Yeni satır ekler.

BindingSource "EndEdit" Methodu: Değişiklikleri “dataset”e iletir ve dataset bazında kaydeder.

BindingSource "Filter" Methodu: Filtreleme yapar,

BindingSource "Find" Methodu: Arama, bulma işlemi yapar.
Ör:dim a as string=bs(bs.find("sütun adı",değer)).tostring
İstediğimiz ifadeyi arayıp ,bize geri veren tek satırlık bir ifadedir.

BindingSource 'ta Navigasyon: Gezinme işlemleri
bs.movefirst----ilk kayıta gider
bs.movelast----son kayıta gider
bs.movenext---bir sonraki satır
bs.moveprevious--bir önceki satır

BindingSource "Position" yöntemi: Position yöntemi hem 'get' hemde 'set' özelliklidir.

BindingSource'ta index kullanımı: bs(4)("KitapAdi") Bu örnek bize 4.satırdaki 'Kitap Adı' isimli sütunun değerini döndürür.
yine yukarıda bahsetmiş olduğumuz find methodunun kullanım alanlarından biride burada ortaya çıkar:


BindingSource "RemoveCurrent" Yöntemi: Bellekten satır siler.

BindingSource "RemoveFilter"Yöntemi: Daha önce "Filter" yöntemi ile filtrelenen kayıttan tüm filtreleri temizleyip listesiyi orijinal hale döndürür.

BindingSource "Sort" ve "RemoveSort" Yöntemleri: “sort” sıralama yapar ve removesort bu sıralamyı iptal eder:
bs.sort="sütunadı desc"
bs.removesort

NOT: Visual Studio 2005 ile birlikte Binding Source kontrolleri .Net platformuna gelmiştir. Ancak bu k User Controlün içerisinde kullanılan Bindinglerini hataya sebep olmaktadır.
Binding işlemlerini daha sonra manuel bir metodu olarak çağırırsanız bu tip bir hata ile karşılaşmazsınız.

Daha Fazla Bilgi İçin:msdn.microsoft

Hiç yorum yok: