İzlenecek Yol: Uygulama Düzeyi Projede Basit Veri Bağlama
Uygulama düzeyi projelerinde veriyi konak kontrollerine ve Windows Forms denetimlerine bağlayabilirsiniz.Bu izlenecek yolda, Microsoft Office Word belgesine denetimlerin nasıl ekleneceği ve çalışma zamanında denetimlerin veriye nasıl bağlanacağı gösterilmektedir.
Uygulama hedefi: Bu konudaki bilgiler, Word 2013 ve Word 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:
Belgeye çalışma zamanında ContentControl ekleme.
Veri kümesinin örneğine denetim bağlayan BindingSource oluşturma.
Kullanıcılara, kayıtlarda kaydırma yapma ve onları denetimde görüntüleme olanağı sağlama.
[!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.
Word 2013 veya Word 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 Word eklenti projesi oluşturmaktır.
Yeni bir proje oluşturmak için
Visual Studio or C# kullanarak Veritabanından Belgeleri Doldurma ismiyle Word eklenti projesi oluşturun.
Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.
Visual Studio ThisAddIn.vb veya ThisAddIn.cs dosyasını açar ve bir veritabanı projesi belgeleri doldurma ekler Çözüm Gezgini.
Varsa projenizin hedeflediği .NET Framework 4 veya .NET Framework 4,5, Microsoft.Office.Tools.Word.v4.0.Utilities.dll derlemesine bir başvuru ekleyin.Bu izlenecek yol sonrasında Windows Forms denetimlerini belgeye eklemek için, bu başvuru gereklidir.
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 Müşteri (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 Müşteri (SalesLT) tablosunun içeriğini gösterir.
CustomerTableAdapter 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 örnekte veritabanı kayıtlarını gösteren arayüz çok basittir ve belgenin içinde oluşturulmuştur.Bir ContentControl, her seferinde tek veritabanı kaydını görüntüler ve iki Button denetimi kayıtlarda ileri geri kaydırma yapmanıza olanak sağlar.İçerik denetimi, veritabanına bağlanmak için BindingSource kullanır.
Verilere denetim bağlama hakkında daha fazla bilgi için, bkz. Office Çözümlerinde Verileri Denetimlere Bağlama.
Belge içinde arayüz yaratmak
ThisAddIn sınıfında, AdventureWorksLTDataSet veritabanının Customer tablosunu göstermek ve orda kaydırma yapmak için aşağıdaki denetimleri bildirin.
Private adventureWorksDataSet As AdventureWorksLTDataSet Private customerTableAdapter As AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter Private customerBindingSource As System.Windows.Forms.BindingSource Private customerContentControl As Microsoft.Office.Tools.Word.RichTextContentControl Private WithEvents button1 As Microsoft.Office.Tools.Word.Controls.Button Private WithEvents button2 As Microsoft.Office.Tools.Word.Controls.Button
private AdventureWorksLTDataSet adventureWorksDataSet; private AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter customerTableAdapter; private System.Windows.Forms.BindingSource customerBindingSource; private Microsoft.Office.Tools.Word.RichTextContentControl customerContentControl; private Microsoft.Office.Tools.Word.Controls.Button button1; private Microsoft.Office.Tools.Word.Controls.Button button2;
ThisAddIn_Startup yönteminde, veri kümesini tanımlamak, veri kümesini AdventureWorksLTDataSet veritabanından gelen bilgiyle doldurmak için aşağıdaki kodu ekleyin.
Me.adventureWorksDataSet = New AdventureWorksLTDataSet() Me.customerTableAdapter = New AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter() Me.customerTableAdapter.Fill(Me.adventureWorksDataSet.Customer) Me.customerBindingSource = New System.Windows.Forms.BindingSource()
this.adventureWorksDataSet = new AdventureWorksLTDataSet(); this.customerTableAdapter = new AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter(); this.customerTableAdapter.Fill(this.adventureWorksDataSet.Customer); this.customerBindingSource = new System.Windows.Forms.BindingSource();
Aşağıdaki kodu ThisAddIn_Startup yöntemine ekleyin.Bu, belgeyi 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 currentDocument As Word.Document = Me.Application.ActiveDocument Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
Word.Document currentDocument = this.Application.ActiveDocument; Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
Belgenin başında birkaç aralık tanımlayın.Bu aralıklar metnin nereye ekleneceğini ve denetimlerin nereye yerleştirileceğini belirler.
extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() extendedDocument.Paragraphs(1).Range.Text = "The companies listed in the AdventureWorksLT database: " extendedDocument.Paragraphs(2).Range.Text = " " Dim range1 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.First Dim range2 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.Last Dim range3 As Word.Range = extendedDocument.Paragraphs(1).Range.Characters.Last
extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.Text = "The companies listed in the AdventureWorksLT database: \n"; extendedDocument.Paragraphs[2].Range.Text = " "; Word.Range range1 = extendedDocument.Paragraphs[2].Range.Characters.First; Word.Range range2 = extendedDocument.Paragraphs[2].Range.Characters.Last; Word.Range range3 = extendedDocument.Paragraphs[1].Range.Characters.Last;
Önceden tanımlanmış aralıklara arayüz denetimi ekleyin.
Me.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1") Me.button1.Text = "Previous" Me.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2") Me.button2.Text = "Next" Me.customerContentControl = extendedDocument.Controls.AddRichTextContentControl(range3, _ "richTextContentControl1")
this.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1"); this.button1.Text = "Previous"; this.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2"); this.button2.Text = "Next"; this.customerContentControl = extendedDocument.Controls.AddRichTextContentControl( range3, "richTextContentControl1");
BindingSource kullanarak içerik denetimini AdventureWorksLTDataSet'e bağlayın.C# geliştiricileri için, Button denetimleri adına iki olay işleyicisi ekleyin.
Me.customerBindingSource.DataSource = Me.adventureWorksDataSet.Customer Me.customerContentControl.DataBindings.Add("Text", Me.customerBindingSource, _ "CompanyName", True, Me.customerContentControl.DataBindings.DefaultDataSourceUpdateMode)
this.customerBindingSource.DataSource = this.adventureWorksDataSet.Customer; this.customerContentControl.DataBindings.Add("Text", this.customerBindingSource, "CompanyName", true, this.customerContentControl.DataBindings.DefaultDataSourceUpdateMode); this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click);
Veritabanı kayıtlarında gezinmek için aşağıdaki kodu ekleyin:
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button1.Click Me.customerBindingSource.MovePrevious() End Sub Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button2.Click Me.customerBindingSource.MoveNext() End Sub
void button1_Click(object sender, EventArgs e) { this.customerBindingSource.MovePrevious(); } void button2_Click(object sender, EventArgs e) { this.customerBindingSource.MoveNext(); }
Eklentiyi Test Etme
Word'ü açtığınızda, içerik denetimi AdventureWorksLTDataSet veri kümesinden veriyi görüntüler.İleri ve Önceki düğmelerini tıklatarak veritabanı kayıtlarında gezinin.
Eklentiyi sınamak için
F5'e basın.
customerContentControl olarak adlandırılan içerik denetimi oluşturulur ve veriyle doldurulur.Aynı anda, adventureWorksLTDataSet isimli veri kümesi nesnesi ve customerBindingSource isimli BindingSource projeye eklenir.ContentControl, karşılığında veri kümesi nesnesine bağlanan BindingSource'a bağlanır.
Veritabanı kayıtlarında gezmek için İleri ve Önceki düğmelerini tıklatın.
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
Nasıl Yapılır: Belgeleri Nesne Verileriyle Doldurma
Nasıl Yapılır: Konak Kontrolü Verileriyle Veri Kaynağını Güncelleme
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