Aracılığıyla paylaş


Windows Forms Tarafından Desteklenen Veri Kaynakları

Geleneksel olarak, veritabanlarında depolanan verilerden yararlanmak için uygulamalar içinde veri bağlama kullanılır. Windows Forms veri bağlama ile, belirli minimum gereksinimler karşılandığı sürece veritabanlarındaki verilere ve diziler ve koleksiyonlar gibi diğer yapılardaki verilere erişebilirsiniz.

Bağlanacak Yapılar

Windows Forms'da, basit nesnelerden (basit bağlama) ADO.NET veri tabloları (karmaşık bağlama) gibi karmaşık listelere kadar çok çeşitli yapılara bağlanabilirsiniz. Basit bağlama için, Windows Forms basit nesnedeki genel özelliklere bağlamayı destekler. Windows Forms liste tabanlı bağlama genellikle nesnenin arabirimi veya arabirimi desteklemesini IListIListSource gerektirir. Buna ek olarak, ile bir BindingSource bileşen aracılığıyla bağlanıyorsanız, arabirimi destekleyen IEnumerable bir nesneye bağlanabilirsiniz. Veri bağlamayla ilgili arabirimler hakkında daha fazla bilgi için bkz . Veri Bağlama ile İlgili Arabirimler.

Aşağıdaki listede, Windows Forms'da bağlanabileceğiniz yapılar gösterilmektedir.

BindingSource
A BindingSource , en yaygın Windows Forms veri kaynağıdır ve bir veri kaynağı ile Windows Forms denetimleri arasında bir ara sunucu işlevi görür. Genel BindingSource kullanım düzeni, denetimlerinizi BindingSource öğesine bağlamak ve veri kaynağına bağlamaktır BindingSource (örneğin, ADO.NET veri tablosu veya iş nesnesi). , BindingSource veri bağlama desteği düzeyini etkinleştiren ve geliştiren hizmetler sağlar. Örneğin, ve gibi DataGridViewComboBox Windows Forms liste tabanlı denetimler veri kaynaklarına bağlanmayı IEnumerable doğrudan desteklemez, ancak aracılığıyla bağlama BindingSourceyaparak bu senaryoyu etkinleştirebilirsiniz. Bu durumda, BindingSource veri kaynağını değerine IListdönüştürür.

Basit nesneler
Windows Forms, türü kullanılarak Binding bir nesnenin örneğindeki genel özelliklere veri bağlama denetimi özelliklerini destekler. Windows Forms, kullanıldığında nesne ListControl örneğine BindingSource gibi liste tabanlı denetimleri bağlamayı da destekler.

dizi veya koleksiyon
Veri kaynağı olarak hareket etmek için, bir listenin IList arabirimi uygulaması gerekir; bir örnek sınıfın Array örneği olan bir dizi olabilir. Diziler hakkında daha fazla bilgi için bkz . Nasıl yapılır: Nesne Dizisi Oluşturma (Visual Basic).

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

IEnumerable
Windows Forms denetimleri, yalnızca bir BindingSource bileşen aracılığıyla bağlıysa arabirimi destekleyen veri kaynaklarına IEnumerable bağlanabilir.

Veri nesnelerini ADO.NET
ADO.NET bağlamaya uygun bir dizi veri yapısı sağlar. Her biri karmaşıklığı ve karmaşıklığında farklılık gösterir.

  • DataColumn. A DataColumn , bir dizi sütunun tablo DataTableoluşturması için temel yapı taşıdır. Her DataColumn biri, sütunun barındırdığı veri türünü belirleyen bir DataType özelliğe sahiptir (örneğin, bir tablodaki otomobilin otomobillerin türü). Bir denetimi (denetimin Text özelliği gibiTextBox) veri tablosundaki bir sütuna basit bir şekilde bağlayabilirsiniz.

  • DataTable. A DataTable , ADO.NET satırlar ve sütunlar içeren bir tablonun gösterimidir. Veri tablosu iki koleksiyon içerir: DataColumnbelirli bir tablodaki veri sütunlarını temsil eden (sonuçta bu tabloya girilebilecek veri türlerini belirleyen) ve DataRowbelirli bir tablodaki veri satırlarını temsil eden . Bir denetimi bir veri tablosundaki bilgilere karmaşık bir şekilde bağlayabilirsiniz (örneğin, denetimi bir veri tablosuna bağlama DataGridView ). Ancak, bir DataTableöğesine bağladığınızda, tablonun varsayılan görünümüne gerçekten bağlanmış olursunuz.

  • DataView. , DataView filtrelenebilen veya sıralanmış olabilecek tek bir veri tablosunun özelleştirilmiş bir görünümüdür. Veri görünümü, karmaşık bağlı denetimler tarafından kullanılan veri "anlık görüntüsü"dür. Veri görünümünde verilere basit bağlama veya karmaşık bağlama yapabilirsiniz, ancak temiz, güncelleştirilen bir veri kaynağı yerine verilerin sabit bir "resmine" bağlandığınıza dikkat edin.

  • DataSet. A DataSet , veritabanındaki verilerin tablolarından, ilişkilerinden ve kısıtlamalarından oluşan bir koleksiyondur. Bir veri kümesindeki verilere basit bağlama veya karmaşık bağlama yapabilirsiniz, ancak için varsayılan DataViewManagerDataSet değere bağlandığınızdan (sonraki madde işaretine bakın) dikkat edin.

  • DataViewManager. A DataViewManager , tüm öğesinin DataSetözelleştirilmiş bir görünümüdür. Buna benzer DataView, ancak ilişkiler dahil edilir. Bir koleksiyonla, belirli bir DataViewSettings tablo için sahip olduğu DataViewManager tüm görünümler için varsayılan filtreler ve sıralama seçenekleri ayarlayabilirsiniz.

Ayrıca bkz.