Bagikan melalui


Memperbarui sumber data dengan data dari kontrol host

Anda dapat mengikat kontrol host ke sumber data dan memperbarui sumber data dengan perubahan yang dibuat pada data dalam kontrol. Ada dua langkah utama dalam proses ini:

  1. Perbarui sumber data dalam memori dengan data yang dimodifikasi dalam kontrol. Biasanya, sumber data dalam memori adalah DataSet, , DataTableatau beberapa objek data lainnya.

  2. Perbarui database dengan data yang diubah di sumber data dalam memori. Ini hanya berlaku jika sumber data tersambung ke database back-end, seperti database SQL Server atau Microsoft Office Access.

    Untuk informasi selengkapnya tentang kontrol host dan pengikatan data, lihat Gambaran umum item host dan kontrol host dan Mengikat data ke kontrol di solusi Office.

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

Memperbarui sumber data dalam memori

Secara default, kontrol host yang mengaktifkan pengikatan data sederhana (seperti kontrol konten pada dokumen Word atau kontrol rentang bernama pada lembar kerja Excel) tidak menyimpan perubahan data ke sumber data dalam memori. Artinya, ketika pengguna akhir mengubah nilai dalam kontrol host lalu menavigasi menjauh dari kontrol, nilai baru dalam kontrol tidak secara otomatis disimpan ke sumber data.

Untuk menyimpan data ke sumber data, Anda dapat menulis kode yang memperbarui sumber data sebagai respons terhadap peristiwa tertentu pada waktu proses, atau Anda dapat mengonfigurasi kontrol untuk memperbarui sumber data secara otomatis saat nilai dalam kontrol berubah.

Anda tidak perlu menyimpan ListObject perubahan ke sumber data dalam memori. Saat Anda mengikat ListObject kontrol ke data, ListObject kontrol secara otomatis menyimpan perubahan ke sumber data dalam memori tanpa memerlukan kode tambahan.

Untuk memperbarui sumber data dalam memori pada waktu proses

  • WriteValue Panggil metode Binding objek yang mengikat kontrol ke sumber data.

    Contoh berikut menyimpan perubahan yang NamedRange dibuat pada kontrol pada lembar kerja Excel ke sumber data. Contoh ini mengasumsikan bahwa Anda memiliki NamedRange kontrol bernama namedRange1 dengan propertinya Value2 yang terikat ke bidang di sumber data.

    this.namedRange1.DataBindings["Value2"].WriteValue();
    

Memperbarui sumber data dalam memori secara otomatis

Anda juga dapat mengonfigurasi kontrol sehingga secara otomatis memperbarui sumber data dalam memori. Dalam proyek tingkat dokumen, Anda dapat melakukan ini dengan menggunakan kode atau perancang. Dalam proyek Add-in VSTO, Anda harus menggunakan kode.

Untuk mengatur kontrol untuk memperbarui sumber data dalam memori secara otomatis dengan menggunakan kode

  1. Gunakan mode System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged objek Binding yang mengikat kontrol ke sumber data. Ada dua opsi untuk memperbarui sumber data:

    • Untuk memperbarui sumber data saat kontrol divalidasi, atur properti ini ke System.Windows.Forms.DataSourceUpdateMode.OnValidation.

    • Untuk memperbarui sumber data saat nilai properti terikat data dari perubahan kontrol, atur properti ini ke System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged.

      Catatan

      Opsi System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged tidak berlaku untuk kontrol host Word, karena Word tidak menawarkan pemberitahuan perubahan dokumen atau perubahan kontrol. Namun, opsi ini dapat digunakan untuk kontrol Formulir Windows pada dokumen Word.

      Contoh berikut mengonfigurasi NamedRange kontrol untuk memperbarui sumber data secara otomatis saat nilai dalam kontrol berubah. Contoh ini mengasumsikan bahwa Anda memiliki NamedRange kontrol bernama namedRange1 dengan propertinya Value2 yang terikat ke bidang di sumber data.

      this.namedRange1.DataBindings["Value2"].DataSourceUpdateMode = 
          DataSourceUpdateMode.OnPropertyChanged;
      

Untuk mengatur kontrol agar memperbarui sumber data dalam memori secara otomatis dengan menggunakan perancang

  1. Di Visual Studio, buka dokumen Word atau buku kerja Excel di perancang.

  2. Klik kontrol yang ingin Anda perbarui sumber data secara otomatis.

  3. Di jendela Properti, perluas properti (DataBindings).

  4. Di samping properti (Tingkat Lanjut), klik tombol elipsis (VisualStudioEllipsesButton screenshot).

  5. Dalam kotak dialog Pemformatan dan Pengikatan Tingkat Lanjut, klik daftar drop-down Mode Pembaruan Sumber Data dan pilih salah satu nilai berikut ini:

    • Untuk memperbarui sumber data saat kontrol divalidasi, pilih OnValidation.

    • Untuk memperbarui sumber data saat nilai properti terikat data kontrol berubah, pilih OnPropertyChanged.

      Catatan

      Opsi OnPropertyChanged tidak berlaku untuk kontrol host Word, karena Word tidak menawarkan pemberitahuan perubahan dokumen atau perubahan kontrol. Namun, opsi ini dapat digunakan untuk kontrol Formulir Windows pada dokumen Word.

  6. Tutup kotak dialog Pemformatan dan Pengikatan Tingkat Lanjut.

Memperbarui database

Jika sumber data dalam memori dikaitkan dengan database, Anda harus memperbarui database dengan perubahan pada sumber data. Untuk informasi selengkapnya tentang memperbarui database, lihat Menyimpan data kembali ke database dan Memperbarui data dengan menggunakan TableAdapter .

Untuk memperbarui database

  1. EndEdit Panggil metode BindingSource untuk kontrol.

    BindingSource dibuat secara otomatis saat Anda menambahkan kontrol terikat data ke dokumen atau buku kerja pada waktu desain. BindingSource menyambungkan kontrol ke himpunan data yang diketik dalam proyek Anda. Untuk informasi selengkapnya, lihat Gambaran umum komponen BindingSource.

    Contoh kode berikut mengasumsikan bahwa proyek Anda berisi bernama BindingSource customersBindingSource.

    this.customersBindingSource.EndEdit();
    
  2. Update Panggil metode TableAdapter yang dihasilkan dalam proyek Anda.

    TableAdapter dibuat secara otomatis saat Anda menambahkan kontrol terikat data ke dokumen atau buku kerja pada waktu desain. TableAdapter menyambungkan himpunan data yang ditik dalam proyek Anda ke database. Untuk informasi selengkapnya, lihat Gambaran umum TableAdapter.

    Contoh kode berikut mengasumsikan bahwa Anda memiliki koneksi ke tabel Pelanggan di database Northwind, dan proyek Anda berisi TableAdapter bernama customersTableAdapter dan himpunan data yang diketik bernama northwindDataSet.

    this.customersTableAdapter.Update(this.northwindDataSet.Customers);