Windows Forms Tarafından Desteklenen Veri Kaynakları

Geleneksel olarak, veritabanlarında depolanan verilerden yararlanmak için uygulamalar içinde veri bağlama kullanılmıştır. Windows Forms veri bağlama sayesinde, bazı minimum gereksinimler karşılandığında, veritabanlarından ve diziler ve koleksiyonlar gibi diğer yapılarda bulunan verilere da erişebilirsiniz.

Bağlanacak yapılar

Windows Forms, basit nesnelerden (basit bağlama) ADO.NET veri tabloları (karmaşık bağlama) gibi karmaşık listelere kadar çok çeşitli yapılara bağlayabilirsiniz. basit bağlama için, Windows Forms basit nesnedeki ortak özelliklere bağlamayı destekler. Windows Forms listesi tabanlı bağlama genellikle nesnenin IList arabirimini veya arabirimini desteklemesini gerektirir IListSource . Ayrıca, bir bileşeni aracılığıyla ile bağlıyorsanız BindingSource , arabirimini destekleyen bir nesneye bağlayabilirsiniz IEnumerable . Veri bağlama ile ilgili arabirimler hakkında daha fazla bilgi için bkz. veri bağlama Ile Ilgili arabirimler.

aşağıdaki listede, Windows Forms içinde bağlayacağınız yapılar gösterilmektedir.

BindingSource
BindingSource, en yaygın Windows Forms veri kaynağıdır ve bir veri kaynağı ile Windows Forms denetimleri arasında bir ara sunucu davranır. genel BindingSource kullanım stili, denetimlerinizi öğesine bağlamak BindingSource ve BindingSource veri kaynağına (örneğin, bir ADO.NET veri tablosu veya bir iş nesnesi) bağlamak için kullanılır. , BindingSource Veri bağlama desteğinin düzeyini etkinleştiren ve geliştiren hizmetler sağlar. örneğin, DataGridView ve gibi ComboBox veri kaynaklarına bağlamayı doğrudan desteklememe gibi Windows Forms tabanlı denetimler, IEnumerable ile arasında bağlama yaparak bu senaryoyu etkinleştirebilirsiniz BindingSource . Bu durumda, BindingSource veri kaynağını bir öğesine dönüştürür IList .

Basit nesneler
Windows Forms, türü kullanarak bir nesnenin örneğindeki ortak özelliklere veri bağlama denetim özelliklerini destekler Binding . Windows Forms ayrıca, kullanılan bir nesne örneği gibi, liste tabanlı denetimleri bağlamayı destekler ListControlBindingSource .

dizi veya koleksiyon
Bir veri kaynağı görevi görecek şekilde, bir listenin arabirimini uygulaması gerekir IList ; bir örnek, sınıfının bir örneği olan bir dizidir Array . Diziler hakkında daha fazla bilgi için bkz. nasıl yapılır: nesne dizisi oluşturma (Visual Basic).

Genel olarak, BindingList<T> veri bağlama için nesne listeleri oluşturduğunuzda kullanmanız gerekir. BindingList<T> , arabirimin genel bir sürümüdür IBindingList . IBindingListArabirim, IList iki yönlü veri bağlama için gereken özellikleri, yöntemleri ve olayları ekleyerek arabirimini genişletir.

IEnumerable
Windows Forms denetimleri, yalnızca IEnumerable bir bileşen üzerinden bağlılarsa arabirimi destekleyen veri kaynaklarına bağlanabilir BindingSource .

veri nesneleri ADO.NET
ADO.NET, bağlamaya uygun bir dizi veri yapısı sağlar. Her biri gelişmiş algoritmaların mümkündür ve karmaşıklığa göre farklılık gösterir.

  • DataColumn. DataColumn, Bir, bir tabloda bir tablo oluşturan, bir için temel yapı taşdır DataTable . Her birinin, DataColumnDataType sütunun tuttuğu veri türünü belirleyen bir özelliği vardır (örneğin, otomobilleri açıklayan bir tablodaki bir otomobil oluşturma). Bir denetimi ( TextBox denetimin Text özelliği gibi) bir veri tablosu içindeki bir sütuna basit bir şekilde bağlayabilirsiniz.

  • DataTable. , DataTable Satır ve sütun içeren bir tablonun gösterimi ADO.net. Veri tablosu iki koleksiyon içerir: DataColumn belirli bir tablodaki veri sütunlarını temsil eden (bu tabloya girilebilecek veri türlerini belirleyen) ve DataRow belirli bir tablodaki veri satırlarını temsil eden. Bir denetimi veri tablosunda yer alan bilgilere karmaşık bağlayabilirsiniz (örneğin, DataGridView denetimi bir veri tablosuna bağlama). Ancak, bir öğesine bağladığınızda DataTable tablonun varsayılan görünümüne gerçekten bir bağlamadır.

  • DataView. DataView, Filtrelenebilir veya sıralanabilen tek bir veri tablosunun özelleştirilmiş bir görünümüdür. Veri görünümü, karmaşık bağlantılı denetimler tarafından kullanılan "Snapshot" veri görünümüdür. Veri görünümü içindeki verileri basit bir şekilde bağlayabilir veya karmaşık bir şekilde bağlayabilirsiniz, ancak temiz ve güncelleştirme veri kaynağı yerine verilerin sabit bir "resmine" bağlandığının farkında olabilirsiniz.

  • DataSet. , Bir DataSet veritabanındaki verilerin bir tablo, ilişki ve kısıtlamaları koleksiyonudur. Veri kümesindeki verileri basit bir şekilde bağlayabilir veya karmaşık bir şekilde bağlayabilirsiniz, ancak DataViewManagerDataSet (sonraki madde işaretine bakın) için varsayılan olarak bağlama yapmanız gerektiğini unutmayın.

  • DataViewManager. DataViewManagerDataSetDataView , ' A benzeyen, ancak ilişkiler dahil olmak üzere, tümünün özelleştirilmiş bir görünümüdür. Bir koleksiyon ile, DataViewSettingsDataViewManager belirli bir tabloya ait olan herhangi bir görünüm için varsayılan filtreleri ve sıralama seçeneklerini belirleyebilirsiniz.

Ayrıca bkz.