İzlenecek yol: VSTO Eklenti Projesinde basit veri bağlama

VSTO Eklenti projelerinde konak denetimlerine ve Windows Forms denetimlerine veri bağlayabilirsiniz. Bu kılavuzda, Microsoft Office Word belgesine denetim ekleme ve çalışma zamanında denetimleri verilere bağlama işlemleri gösterilmektedir.

Şunlar için geçerlidir: Bu konudaki bilgiler Word için VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Bu izlenecek yol aşağıdaki görevleri gösterir:

  • ContentControl Çalışma zamanında belgeye ekleme.

  • Denetimi bir BindingSource veri kümesi örneğine bağlayan bir oluşturma.

  • Kullanıcının kayıtlarda gezinmesini ve bunları denetimde görüntülemesini 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 . IDE'yi kişiselleştirme.

Önkoşullar

Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:

  • Microsoft Office geliştirici araçlarını içeren bir Visual Studio sürümü. Daha fazla bilgi için bkz . Office çözümleri geliştirmek için bilgisayar yapılandırma.

  • Word 2013 veya Word 2010 .

  • Örnek veritabanının eklendiği sql server 2005 veya SQL Server 2005 Express'in AdventureWorksLT çalışan bir örneğine erişim. Veritabanını SQL Server Örnekleri GitHub deposundan indirebilirsinizAdventureWorksLT. Veritabanı ekleme hakkında daha fazla bilgi için aşağıdaki konulara bakın:

Yeni proje oluşturma

İlk adım bir Word VSTO Eklenti projesi oluşturmaktır.

Yeni proje oluşturmak için

  1. Visual Basic veya C# kullanarak Veritabanından Belgeleri Doldurma adlı bir Word VSTO 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ı projesindeki Doldurulan Belgeleri Çözüm Gezgini ekler.

  2. Projeniz .NET Framework 4 veya .NET Framework 4.5'i hedef alıyorsa, Microsoft.Office.Tools.Word.v4.0.Utilities.dll derlemesine bir başvuru ekleyin. Bu kılavuzun ilerleyen bölümlerinde belgeye program aracılığıyla Windows Forms denetimleri eklemek için bu başvuru gereklidir.

Veri kaynağı oluşturma

Projenize yazılan bir veri kümesi eklemek için Veri Kaynakları penceresini kullanın.

Projeye yazılan bir veri kümesi eklemek için

  1. Veri Kaynakları penceresi görünmüyorsa, bunu menü çubuğunda Diğer Windows>Veri Kaynaklarını Görüntüle'yi>seçerek görüntüleyin.

  2. Veri Kaynağı Yapılandırma Sihirbazı'nı başlatmak için Yeni Veri Kaynağı Ekle'yi seçin.

  3. Veritabanı'ya ve ardından İleri'ye tıklayın.

  4. Veritabanına var olan bir bağlantınız AdventureWorksLT varsa, bu bağlantıyı seçin ve İleri'ye tıklayın.

    Aksi takdirde, Yeni Bağlan ion'a tıklayın ve yeni bağlantı oluşturmak için Bağlan ion Ekle iletişim kutusunu kullanın. Daha fazla bilgi için bkz . Yeni bağlantı ekleme.

  5. Bağlan Ion Dizesini Uygulama Yapılandırma Dosyasına Kaydet sayfasında İleri'ye tıklayın.

  6. Veritabanı Nesnelerinizi Seçin sayfasında Tablolar'ı genişletin ve Müşteri (SalesLT) öğesini seçin.

  7. Finish (Son) düğmesine tıklayın.

    AdventureWorksLTDataSet.xsd dosyası Çözüm Gezgini eklenir. Bu dosya aşağıdaki öğeleri tanımlar:

    • adlı AdventureWorksLTDataSetyazılan bir veri kümesi. Bu veri kümesi, AdventureWorksLT veritabanındaki Customer (SalesLT) tablosunun içeriğini temsil eder.

    • adlı CustomerTableAdapterbir TableAdapter. Bu TableAdapter içindeki verileri AdventureWorksLTDataSetokumak ve yazmak için kullanılabilir. Daha fazla bilgi için bkz . TableAdapter'a genel bakış.

      Bu adımların ilerleyen bölümlerinde bu nesnelerin her ikisini de kullanacaksınız.

Denetimler oluşturma ve verilere denetim bağlama

Bu kılavuzda veritabanı kayıtlarını görüntüleme arabirimi temeldir ve doğrudan belgenin içinde oluşturulur. Biri ContentControl tek seferde tek bir veritabanı kaydı görüntüler ve iki Button denetim kayıtlarda ileri geri kaydırmanızı sağlar. İçerik denetimi veritabanına bağlanmak için bir BindingSource kullanır.

Denetimleri verilere bağlama hakkında daha fazla bilgi için bkz . Office çözümlerinde denetimlere veri bağlama.

Belgede arabirim oluşturmak için

  1. sınıfında, veritabanının ThisAddIn tablosunu AdventureWorksLTDataSet görüntülemek ve kaydırmak Customer için aşağıdaki denetimleri bildirin.

    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;
    
  2. yönteminde ThisAddIn_Startup aşağıdaki kodu ekleyerek veri kümesini başlatın, veri kümesini veritabanındaki AdventureWorksLTDataSet bilgilerle doldurun.

    this.adventureWorksDataSet = new AdventureWorksLTDataSet();
    this.customerTableAdapter = new AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter();
    this.customerTableAdapter.Fill(this.adventureWorksDataSet.Customer);
    this.customerBindingSource = new System.Windows.Forms.BindingSource();
    
  3. Aşağıdaki kodu ThisAddIn_Startup yöntemine ekleyin. Bu, belgeyi genişleten bir konak öğesi oluşturur. Daha fazla bilgi için bkz . Çalışma zamanında VSTO Eklentilerinde Word belgelerini ve Excel çalışma kitaplarını genişletme.

    Word.Document currentDocument = this.Application.ActiveDocument;
    
    Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
  4. Belgenin başında birkaç aralık tanımlayın. Bu aralıklar, metin ekleyip denetimlerin yerleştirileceği yeri belirler.

    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;
    
  5. Arabirim denetimlerini önceden tanımlanmış aralıklara ekleyin.

    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");
    
  6. kullanarak içerik denetimini öğesine AdventureWorksLTDataSet bağlayın BindingSource. C# geliştiricileri için denetimler için iki olay işleyicisi Button ekleyin.

    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);
    
  7. Veritabanı kayıtlarında gezinmek için aşağıdaki kodu ekleyin.

    void button1_Click(object sender, EventArgs e)
    {
        this.customerBindingSource.MovePrevious();
    }
    
    void button2_Click(object sender, EventArgs e)
    {
        this.customerBindingSource.MoveNext();
    }
    

Eklentiyi test edin

Word'i açtığınızda, içerik denetimi veri kümesindeki AdventureWorksLTDataSet verileri görüntüler. Sonraki ve Önceki düğmelerine tıklayarak veritabanı kayıtları arasında ilerleyin.

VSTO Eklentisini test etmek için

  1. F5 tuşuna basın.

    adlı customerContentControl bir içerik denetimi oluşturulur ve verilerle doldurulur. Aynı zamanda, adlı ve adlı adventureWorksLTDataSet bir BindingSourcecustomerBindingSource veri kümesi nesnesi projeye eklenir. ContentControl öğesine bağlıdır BindingSourceve bu da veri kümesi nesnesine bağlıdır.

  2. Veritabanı kayıtlarında gezinmek için İleri ve Önceki düğmelerine tıklayın.