İzlenecek Yol: Uygulama Düzeyi Projede Karmaşık Veri Bağlama
Uygulama düzeyi projelerinde veriyi konak kontrollerine ve Windows Forms denetimlerine bağlayabilirsiniz.Bu izlenecek yolda, Microsoft Office Excel çalışma sayfasına denetimlerin nasıl ekleneceği ve çalışma zamanında denetimlerin veriye nasıl bağlanacağı gösterilmektedir.
Uygulama hedefi: Bu konudaki bilgiler, Excel 2013 ve Excel 2010 için uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Bu örneklerde aşağıdaki görevler gösterilir:
Çalışma sayfasına çalışma zamanında ListObject denetimi ekleme.
Veri kümesinin örneğine denetim bağlayan BindingSource oluşturma.
[!NOT]
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için, bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.
Önkoşullar
Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2013 sürümü. Daha fazla bilgi edinmek için, bkz. Office Çözümleri Geliştirmek İçin Bilgisayarı Yapılandırma.
Excel 2013 veya Excel 2010.
AdventureWorksLT örnek veritabanının bulunduğu SQL Server 2005 veya SQL Server 2005 Express'in çalışan örneklerine erişim.Karşıdan yükleyebileceğiniz AdventureWorksLT gelen veritabanı CodePlex Web sitesinden.Veritabanı ekleme hakkında daha fazla bilgi için, aşağıdaki konulara bakın:
sql Server Management Studio veya sql Server Management Studio Express kullanarak veritabanı eklemek için bkz: nasıl yapılır: veritabanı (sql Server Management Studio'yu) eklemek.
Komut satırı kullanarak veritabanı eklemek için bkz: nasıl yapılır: sql Server Express'e Veritabanı dosyası iliştirin.
Yeni Bir Proje Oluşturma
İlk adım, Excel eklenti projesi oluşturmaktır.
Yeni bir proje oluşturmak için
Visual Studio veya C# kullanarak Veritabanından Çalışma Sayfası Doldurma ismiyle Excel eklenti projesi oluşturun.
Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.
Visual Studio açar ThisAddIn.vb veya ThisAddIn.cs bir veritabanı projesi çalışma sayfası doldurma ekler ve dosya Çözüm Gezgini.
Veri Kaynağı Oluşturma
Projenize yazılmış veri kümesi eklemek için Veri Kaynağı penceresini kullanın.
Projeye türü belirtilmiş veri kümesi eklemek için
Veri kaynakları penceresi görünmüyorsa, menü çubuğu, seçme, onu görüntülemek Görünüm, Diğer Pencereler, Veri kaynakları.
Seçim Yeni veri kaynağı Ekle başlatmak için Veri kaynağı Yapılandırma Sihirbazı'nı.
Veritabanı'nı sonra da İleri'yi tıklayın.
AdventureWorksLT veritabanına önceden varolan bir bağlantınız varsa bu bağlantıyı seçin ve İleri'yi tıklayın.
Aksi takdirde, New Connetion'ı tıklayın ve yeni bir bağlantı oluşturmak için Add Connection iletişim kutusunu kullanın.Daha fazla bilgi için bkz. Nasıl yapılır: Bir Veritabanındaki Verilere Bağlanma.
Bağlantı Dizesini Uygulama Yapılandırma Dosyasına Kaydet sayfasında İleri'yi tıklatın.
Veritabanı Nesnenizi Seçin sayfasında Tablolar'ı genişletin ve Adres (SalesLT) tablosunu seçin.
Son düğmesini tıklatın.
The AdventureWorksLTDataSet.xsd dosyası Çözüm Gezgini'ne eklenir.Dosya aşağıdaki öğeleri tanımlar:
AdventureWorksLTDataSet olarak adlandırılan türü belirtilmiş veri kümesi.Bu veri kümesi AdventureWorksLT veritabanının Adres (SalesLT) tablosunun içeriğini gösterir.
AddressTableAdapter olarak adlandırılan TableAdapter.Bu TableAdapterAdventureWorksLTDataSet'ten veri okumak veya yazmak için kullanılabilir.Daha fazla bilgi için bkz. TableAdapter Genel Bakışı.
Bu iki nesneyi daha sonra bu örnekte kullanacaksınız.
Denetimler Yaratma ve Denetimleri Veriye Bağlama
Bu anlatım için ListObject denetimi, kullanıcı çalışma kitabını açar açmaz seçtiğiniz tablodaki tüm verileri görüntüler.Liste nesnesi, denetimi veritabanına bağlamak için BindingSource kullanır.
Verilere denetim bağlama hakkında daha fazla bilgi için, bkz. Office Çözümlerinde Verileri Denetimlere Bağlama.
Liste nesnesi, veri kümesi ve tablo bağdaştırıcısı eklemek için
ThisAddIn sınıfında, AdventureWorksLTDataSet veri kümesinin Address tablosunu göstermek için aşağıdaki denetimleri bildirin.
Private addressListObject As Microsoft.Office.Tools.Excel.ListObject Private adventureWorksDataSet As AdventureWorksLTDataSet Private addressTableAdapter As AdventureWorksLTDataSetTableAdapters.AddressTableAdapter Private addressBindingSource As System.Windows.Forms.BindingSource
private Microsoft.Office.Tools.Excel.ListObject addressListObject; private AdventureWorksLTDataSet adventureWorksDataSet; private AdventureWorksLTDataSetTableAdapters.AddressTableAdapter addressTableAdapter; private System.Windows.Forms.BindingSource addressBindingSource;
ThisAddIn_Startup yönteminde, veri kümesini tanımlamak ve veri kümesini AdventureWorksLTDataSet veri kümesinden gelen bilgiyle doldurmak için aşağıdaki kodu ekleyin.
Me.addressTableAdapter = New AdventureWorksLTDataSetTableAdapters.AddressTableAdapter() Me.adventureWorksDataSet = New AdventureWorksLTDataSet() Me.addressTableAdapter.Fill(Me.adventureWorksDataSet.Address) Me.addressBindingSource = New System.Windows.Forms.BindingSource()
this.addressTableAdapter = new AdventureWorksLTDataSetTableAdapters.AddressTableAdapter(); this.adventureWorksDataSet = new AdventureWorksLTDataSet(); this.addressTableAdapter.Fill(this.adventureWorksDataSet.Address); this.addressBindingSource = new System.Windows.Forms.BindingSource();
Aşağıdaki kodu ThisAddIn_Startup yöntemine ekleyin.Bu, çalışma sayfasını genişleten bir konak öğesi yaratır.Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentilerindeki Word Belgelerini ve Excel Çalışma Kitaplarını Çalışma Zamanında Genişletme.
Dim worksheet As Excel.Worksheet = DirectCast(Me.Application.ActiveWorkbook.Worksheets(1), Excel.Worksheet) ' Create a workhseet host item. Dim extendedWorksheet As Worksheet = Globals.Factory.GetVstoObject(worksheet)
Excel.Worksheet worksheet = (Excel.Worksheet)this.Application.ActiveWorkbook.Worksheets[1]; // Create a workhseet host item. Worksheet extendedWorksheet = Globals.Factory.GetVstoObject(worksheet);
Bir aralık oluşturun ve ListObject denetimini ekleyin.
Dim cell As Excel.Range = extendedWorksheet.Range("$A$1:$G$5", System.Type.Missing) Me.addressListObject = extendedWorksheet.Controls.AddListObject(cell, "list1")
Excel.Range cell = extendedWorksheet.Range["$A$1:$G$5"]; this.addressListObject = extendedWorksheet.Controls.AddListObject(cell, "list1");
Liste nesnesine bağlamak AdventureWorksLTDataSet kullanarak BindingSource.Liste nesnesine bağlamak istediğiniz sütun isimlerini geçirin.
Me.addressBindingSource.DataSource = Me.adventureWorksDataSet.Address Me.addressListObject.AutoSetDataBoundColumnHeaders = True Me.addressListObject.SetDataBinding( _ Me.addressBindingSource, "", "AddressID", "AddressLine1", _ "AddressLine2", "City", "StateProvince", "CountryRegion", "PostalCode")
this.addressBindingSource.DataSource = this.adventureWorksDataSet.Address; this.addressListObject.AutoSetDataBoundColumnHeaders = true; this.addressListObject.SetDataBinding( this.addressBindingSource, "", "AddressID", "AddressLine1", "AddressLine2", "City", "StateProvince", "CountryRegion", "PostalCode");
Eklentiyi Test Etme
Excel'i açtığınızda, ListObject denetimi AdventureWorksLTDataSet veri kümesinin Address tablosundan veriyi görüntüler.
Eklentiyi sınamak için
F5'e basın.
addressListObject isimli ListObject denetimi çalışma sayfasında oluşturulur.Aynı anda, adventureWorksLTDataSet isimli veri kümesi nesnesi ve addressBindingSource isimli BindingSource projeye eklenir.Karşılığında veri kümesi nesnesine bağlanan ListObjectBindingSource'a bağlanır.
Ayrıca bkz.
Görevler
Nasıl Yapılır: Çalışma Sayfalarını Veritabanı Verileriyle Doldurma
Nasıl Yapılır: Belgeleri Veritabanı Verileriyle Doldurma
Nasıl Yapılır: Belgeleri Hizmet Verileriyle Doldurma
Nasıl Yapılır: Belgeleri Nesne Verileriyle Doldurma
Nasıl Yapılır: Çalışma Sayfasındaki Veritabanı Kayıtları Arasında Kaydırma
Nasıl Yapılır: Konak Kontrolü Verileriyle Veri Kaynağını Güncelleme
İzlenecek Yol: Belge Düzeyi Projede Basit Veri Bağlama
İzlenecek Yol: Belge Düzeyi Projede Karmaşık Veri Bağlama
Başvuru
BindingSource Bileşenine Genel Bakış
Kavramlar
Office Çözümlerinde Yerel Veritabanı Dosyaları Kullanmaya Genel Bakış
Visual Studio'da Verilere Windows Forms Denetimleri Bağlama
Office Çözümlerinde Yerel Veritabanı Dosyaları Kullanmaya Genel Bakış
Windows Forms Uygulamalarındaki Verilere Bağlanma