9 Ocak 2019 Çarşamba

BindingList Sınıfı

GirişDataSource ile IList tipinden bir listeyi birleştirebilmek için kullanılır. Bu sınıf genellikle DataGridView ile kullanılır. IList'in içindeki generic tipin public property'lerini DataGridView'e sütun olarak ekler.

Bazen bu sınıf  ListView ile de birlikte kullanılabilir.

BindingSource ve BindingList'in Farkları Nedir?BindingList'in kullandığı liste değiştirilince view otomatik değişir. BindingSource'un kullandığı liste değişince view'u elle tetiklemek gerekir.

Constructor
Mevcut bir listeden yaratmak için şöyle yaparız.
var list = ...;
var bl = new BindingList<MyObject>(list);
Add metodu
Şöyle yaparız
BindingList<int> items =  new BindingList<int>();

// Add some items to our binding list
for (int i = 0; i < 5; i++)
{
  items.Add(i);
}
RaiseListChangedEvents
Eğer listeye değişklik yaparken, view nesnesi etkilenmesin istiyorsak aşağıdaki gibi yapabiliriz.
// stop raising update events
bl.RaiseListChangedEvents = false; 
Daha sonra ise şöyle yaparız.
// restore update events, raise reset event
bl.RaiseListChangedEvents = true;
bl.ResetBindings() 
ToList metodu
Bu bir extension method. using System.Linq satırı eklenmelidir. Şöyle yaparız.
List<int> list = bl.ToList();

Hiç yorum yok:

Yorum Gönder