Sdílet prostřednictvím


Aktualizace zdroje dat dat dat z hostitelského ovládacího prvku

Ovládací prvek hostitele můžete svázat se zdrojem dat a aktualizovat zdroj dat změnami provedenými v datech v ovládacím prvku. V tomto procesu jsou dva hlavní kroky:

  1. Aktualizujte zdroj dat v paměti s upravenými daty v ovládacím prvku. Zdroj dat v paměti je obvykle datový DataSetobjekt , nebo DataTablejiný datový objekt.

  2. Aktualizujte databázi se změněnými daty ve zdroji dat v paměti. To platí jenom v případě, že je zdroj dat připojený k back-endové databázi, jako je SQL Server nebo databáze systém Microsoft Office Accessu.

    Další informace o ovládacích prvcích hostitele a datových vazbách najdete v tématu Přehled položek hostitele a ovládacích prvků hostitelů a vazba dat k ovládacím prvkům v řešeních Office.

    Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO pro Excel a Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Aktualizace zdroje dat v paměti

Ve výchozím nastavení hostitelské ovládací prvky, které umožňují jednoduchou datovou vazbu (například ovládací prvky obsahu v dokumentu aplikace Word nebo ovládací prvek pojmenované oblasti na listu aplikace Excel), neuloží změny dat do zdroje dat v paměti. To znamená, že když koncový uživatel změní hodnotu v ovládacím prvku hostitele a pak přejde mimo ovládací prvek, nová hodnota v ovládacím prvku se automaticky neuloží do zdroje dat.

Pokud chcete data uložit do zdroje dat, můžete napsat kód, který aktualizuje zdroj dat v reakci na konkrétní událost za běhu, nebo můžete ovládací prvek nakonfigurovat tak, aby automaticky aktualizoval zdroj dat, když se hodnota v ovládacím prvku změní.

Změny ve zdroji dat v paměti nemusíte ukládat ListObject . Když svážete ListObject ovládací prvek s daty, ListObject ovládací prvek automaticky uloží změny do zdroje dat v paměti bez nutnosti dalšího kódu.

Aktualizace zdroje dat v paměti za běhu

  • WriteValue Volání metody objektuBinding, který vytvoří vazbu ovládacího prvku na zdroj dat.

    Následující příklad uloží změny provedené v ovládacím NamedRange prvku na excelovém listu do zdroje dat. V tomto příkladu se předpokládá, že máte NamedRange ovládací prvek s názvem namedRange1 s jeho Value2 vlastností vázanou na pole ve zdroji dat.

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

Automatická aktualizace zdroje dat v paměti

Ovládací prvek můžete také nakonfigurovat tak, aby automaticky aktualizoval zdroj dat v paměti. V projektu na úrovni dokumentu to můžete provést pomocí kódu nebo návrháře. V projektu doplňku VSTO musíte použít kód.

Nastavení ovládacího prvku pro automatickou aktualizaci zdroje dat v paměti pomocí kódu

  1. Použijte System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged režim Binding objektu, který sváže ovládací prvek se zdrojem dat. Existují dvě možnosti aktualizace zdroje dat:

    • Chcete-li aktualizovat zdroj dat při ověření ovládacího prvku, nastavte tuto vlastnost na System.Windows.Forms.DataSourceUpdateMode.OnValidation.

    • Chcete-li aktualizovat zdroj dat při změně hodnoty vlastnosti vázané na data ovládacího prvku, nastavte tuto vlastnost na System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged.

      Poznámka:

      Možnost System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged se nevztahuje na hostitelské ovládací prvky aplikace Word, protože Aplikace Word nenabízí oznámení o změnách dokumentu nebo ovládacích prvcích. Tuto možnost ale můžete použít pro ovládací prvky model Windows Forms ve wordových dokumentech.

      Následující příklad nakonfiguruje NamedRange ovládací prvek, který automaticky aktualizuje zdroj dat při změně hodnoty v ovládacím prvku. V tomto příkladu se předpokládá, že máte NamedRange ovládací prvek s názvem namedRange1 s jeho Value2 vlastností vázanou na pole ve zdroji dat.

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

Nastavení ovládacího prvku pro automatickou aktualizaci zdroje dat v paměti pomocí návrháře

  1. V sadě Visual Studio otevřete wordový dokument nebo excelový sešit v návrháři.

  2. Klikněte na ovládací prvek, který chcete automaticky aktualizovat zdroj dat.

  3. V okně Vlastnosti rozbalte vlastnost (DataBindings).

  4. Vedle vlastnosti (Upřesnit) klikněte na tlačítko se třemi tečky (VisualStudioEllipsesButton screenshot).

  5. V dialogovém okně Formátování a rozšířená vazba klikněte na rozevírací seznam Režim aktualizace zdroje dat a vyberte jednu z následujících hodnot:

    • Pokud chcete aktualizovat zdroj dat při ověření ovládacího prvku, vyberte OnValidation.

    • Chcete-li aktualizovat zdroj dat při změně hodnoty vlastnosti vázané na data ovládacího prvku, vyberte OnPropertyChanged.

      Poznámka:

      Možnost OnPropertyChanged se nevztahuje na hostitelské ovládací prvky aplikace Word, protože Aplikace Word nenabízí oznámení o změnách dokumentu nebo ovládacích prvcích. Tuto možnost ale můžete použít pro ovládací prvky model Windows Forms ve wordových dokumentech.

  6. Zavřete dialogové okno Formátování a rozšířené vazby.

Aktualizace databáze

Pokud je zdroj dat v paměti přidružený k databázi, je nutné databázi aktualizovat změnami zdroje dat. Další informace o aktualizaci databáze naleznete v tématu Uložení dat zpět do databáze a aktualizace dat pomocí TableAdapter .

Postup aktualizace databáze

  1. EndEdit Volejte metodu BindingSource ovládacího prvku.

    Tento BindingSource ovládací prvek se automaticky vygeneruje při přidání ovládacího prvku vázaného na data do dokumentu nebo sešitu v době návrhu. Připojí BindingSource ovládací prvek k zadané datové sadě v projektu. Další informace najdete v tématu BindingSource – přehled komponenty.

    Následující příklad kódu předpokládá, že váš projekt obsahuje pojmenovaný BindingSource customersBindingSource.

    this.customersBindingSource.EndEdit();
    
  2. Volejte metodu Update vygenerovaného TableAdapter v projektu.

    Při přidání ovládacího prvku vázaného na data do dokumentu nebo sešitu v době návrhu se automaticky vygeneruje ovládací prvek TableAdapter. Objekt TableAdapter připojí typovou datovou sadu v projektu k databázi. Další informace naleznete v tématu TableAdapter – přehled.

    Následující příklad kódu předpokládá, že máte připojení k tabulce Customers v databázi Northwind a že váš projekt obsahuje TableAdapter s názvem customersTableAdapter a typovou datovou sadu s názvem northwindDataSet.

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