Bagikan melalui


Panduan: Pengikatan data sederhana di Proyek Add-in VSTO

Anda dapat mengikat data ke kontrol host dan kontrol Formulir Windows di proyek Add-in VSTO. Panduan ini menunjukkan cara menambahkan kontrol ke dokumen Microsoft Office Word dan mengikat kontrol ke data pada waktu proses.

Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek Add-in VSTO untuk Word. Untuk informasi selengkapnya, lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

Panduan ini mengilustrasikan tugas-tugas berikut:

  • ContentControl Menambahkan ke dokumen pada waktu proses.

  • BindingSource Membuat yang menyambungkan kontrol ke instans himpunan data.

  • Memungkinkan pengguna untuk menggulir rekaman dan melihatnya di kontrol.

Catatan

Komputer Anda mungkin memperlihatkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam petunjuk berikut. Edisi Visual Studio yang Anda miliki dan setelan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE.

Prasyarat

Anda memerlukan komponen berikut untuk menyelesaikan panduan ini:

Membuat proyek baru

Langkah pertama adalah membuat proyek Add-in Word VSTO.

Untuk membuat proyek baru

  1. Buat proyek Add-in Word VSTO dengan nama Mengisi Dokumen dari Database, menggunakan Visual Basic atau C#.

    Untuk informasi selengkapnya, lihat Cara: Membuat proyek Office di Visual Studio.

    Visual Studio membuka file ThisAddIn.vb atau ThisAddIn.cs dan menambahkan Mengisi Dokumen dari proyek Database ke Penjelajah Solusi.

  2. Jika proyek Anda menargetkan .NET Framework 4 atau .NET Framework 4.5, tambahkan referensi ke rakitan Microsoft.Office.Tools.Word.v4.0.Utilities.dll . Referensi ini diperlukan untuk menambahkan kontrol Formulir Windows secara terprogram ke dokumen nanti dalam panduan ini.

Membuat sumber data

Gunakan jendela Sumber Data untuk menambahkan himpunan data yang ditik ke proyek Anda.

Untuk menambahkan himpunan data yang ditik ke proyek

  1. Jika jendela Sumber Data tidak terlihat, tampilkan menurut, pada bilah menu, pilih Tampilkan>Sumber Data Windows>Lainnya.

  2. Pilih Tambahkan Sumber Data Baru untuk memulai Wizard Konfigurasi Sumber Data.

  3. Klik Database, lalu klik Berikutnya.

  4. Jika Anda memiliki koneksi yang sudah ada ke AdventureWorksLT database, pilih koneksi ini dan klik Berikutnya.

    Jika tidak, klik Koneksi ion Baru, dan gunakan kotak dialog Tambahkan Koneksi ion untuk membuat koneksi baru. Untuk informasi selengkapnya, lihat Tambahkan pengguna baru.

  5. Di halaman Simpan String Koneksi ion ke File Konfigurasi Aplikasi, klik Berikutnya.

  6. Di halaman Pilih Objek Database Anda, perluas Tabel dan pilih Pelanggan (SalesLT).

  7. Klik Selesai.

    File AdventureWorksLTDataSet.xsd ditambahkan ke Penjelajah Solusi. File ini mendefinisikan item berikut:

    • Himpunan data yang di ketik bernama AdventureWorksLTDataSet. Himpunan data ini mewakili konten tabel Pelanggan (SalesLT) dalam database AdventureWorksLT.

    • TableAdapter bernama CustomerTableAdapter. TableAdapter ini dapat digunakan untuk membaca dan menulis data di AdventureWorksLTDataSet. Untuk informasi selengkapnya, lihat Gambaran umum TableAdapter.

      Anda akan menggunakan kedua objek ini nanti dalam panduan ini.

Membuat kontrol dan kontrol pengikatan ke data

Antarmuka untuk menampilkan rekaman database dalam panduan ini adalah dasar, dan dibuat tepat di dalam dokumen. Satu ContentControl menampilkan satu rekaman database sekaligus, dan dua Button kontrol memungkinkan Anda untuk menggulir bolak-balik melalui rekaman. Kontrol konten menggunakan BindingSource untuk menyambungkan ke database.

Untuk informasi selengkapnya tentang pengikatan kontrol ke data, lihat Mengikat data ke kontrol di solusi Office.

Untuk membuat antarmuka dalam dokumen

  1. ThisAddIn Di kelas , deklarasikan kontrol berikut untuk menampilkan dan menggulir Customer tabel AdventureWorksLTDataSet database.

    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. Dalam metode , ThisAddIn_Startup tambahkan kode berikut untuk menginisialisasi himpunan data, isi himpunan data dengan informasi dari AdventureWorksLTDataSet database.

    this.adventureWorksDataSet = new AdventureWorksLTDataSet();
    this.customerTableAdapter = new AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter();
    this.customerTableAdapter.Fill(this.adventureWorksDataSet.Customer);
    this.customerBindingSource = new System.Windows.Forms.BindingSource();
    
  3. Tambahkan kode berikut ke metode ThisAddIn_Startup. Ini menghasilkan item host yang memperluas dokumen. Untuk informasi selengkapnya, lihat Memperluas dokumen Word dan buku kerja Excel di Add-in VSTO pada waktu proses.

    Word.Document currentDocument = this.Application.ActiveDocument;
    
    Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
  4. Tentukan beberapa rentang di awal dokumen. Rentang ini mengidentifikasi tempat menyisipkan kontrol teks dan tempat.

    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. Tambahkan kontrol antarmuka ke rentang yang ditentukan sebelumnya.

    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. Ikat kontrol konten dengan AdventureWorksLTDataSet menggunakan BindingSource. Untuk pengembang C#, tambahkan dua penanganan aktivitas untuk Button kontrol.

    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. Tambahkan kode berikut untuk menavigasi rekaman database.

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

Menguji Add-in

Saat Anda membuka Word, kontrol konten menampilkan data dari himpunan AdventureWorksLTDataSet data. Gulir rekaman database dengan mengklik tombol Berikutnya dan Sebelumnya .

Untuk menguji Add-in VSTO

  1. Tekan F5.

    Kontrol konten bernama customerContentControl dibuat dan diisi dengan data. Pada saat yang sama, objek himpunan data bernama adventureWorksLTDataSet dan bernama customerBindingSourceBindingSource ditambahkan ke proyek. ContentControl terikat ke BindingSource, yang pada gilirannya terikat ke objek himpunan data.

  2. Klik tombol Berikutnya dan Sebelumnya untuk menggulir rekaman database.