Udostępnij za pośrednictwem


Jak: aktualizacji źródła danych z danymi z kontroli hosta

Można powiązać formant hosta do źródła danych i zaktualizować źródło danych ze zmianami, które są wprowadzone do danych w formancie.Istnieją dwa główne etapy tego procesu:

  1. Zmodyfikowane dane w formancie, należy zaktualizować źródło danych w pamięci.Zazwyczaj jest źródło danych w pamięci DataSet, DataTable, lub inny obiekt danych.

  2. Aktualizacja bazy danych przy użyciu zmienionych danych w źródle danych w pamięci.To jest stosowane tylko wtedy, gdy źródło danych jest podłączony do wewnętrznej bazy danych, takich jak bazy danych programu SQL Server lub Microsoft Office Access.

Aby uzyskać więcej informacji na temat formantów hosta i wiązania danych, zobacz Elementy hosta i Omówienie kontroli hosta i Wiązanie danych do formantów w rozwiązania dla pakietu Office.

Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu i projektów na poziomie aplikacji dla następujących aplikacji: Excel 2013 i Excel 2010; Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.

Aktualizowanie źródła danych w pamięci

Domyślnie formanty hosta, które umożliwiają tworzenie prostych powiązań (na przykład formanty zawartości w dokumencie programu Word lub kontroli nazwany zakres w arkuszu programu Excel) nie zapisuj zmian danych w źródle danych w pamięci.Oznacza to gdy użytkownik końcowy zmienia wartość w formancie hosta i następnie przechodzi od kontroli, nową wartość w formancie nie jest zapisywany automatycznie w źródle danych.

Aby zapisać dane w źródle danych, można napisać kod, który aktualizuje źródła danych w odpowiedzi na określone zdarzenie w czasie wykonywania, lub można skonfigurować formant, aby automatycznie zaktualizować źródło danych, gdy wartość w formancie.

Nie trzeba zapisywać ListObject zmiany w źródle danych w pamięci.Kiedy wiązania ListObject kontrolę danych, ListObject formant automatycznie zapisuje zmiany w źródle danych w pamięci bez konieczności dodatkowego kodu.

Aby zaktualizować źródło danych w pamięci w czasie wykonywania

  • Wywołanie WriteValue metoda Binding obiekt, który powiąże formant źródła danych.

    Poniższy przykład zapisuje zmiany wprowadzone do NamedRange formantu w arkuszu programu Excel do źródła danych.W tym przykładzie założono, że NamedRange sterowania o nazwie namedRange1 z jego Value2 właściwość powiązany z polem w źródle danych.

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

bybtbt99.collapse_all(pl-pl,VS.110).gifAutomatyczne aktualizowanie źródła danych w pamięci

Formant można także skonfigurować, tak aby automatycznie aktualizuje źródła danych w pamięci.W projekcie na poziomie dokumentu możesz to zrobić za pomocą kodu lub projektanta.W projekcie jest poziom aplikacji należy użyć kodu.

Aby ustawić, aby automatycznie zaktualizować źródło danych w pamięci przy użyciu kodu

  • Użycie System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged tryb Binding obiekt, który powiąże formant źródła danych.Istnieją dwie opcje aktualizacji źródła danych:

    • Aby zaktualizować źródło danych, gdy formant jest sprawdzana, należy ustawić tę właściwość System.Windows.Forms.DataSourceUpdateMode.OnValidation.

    • Aby zaktualizować źródło danych, gdy wartość właściwości formantu powiązanego z danymi, należy ustawić tę właściwość System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged.

      [!UWAGA]

      System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged Opcja nie ma zastosowania do kontroli hosta programu Word, ponieważ program Word ma nie oferta-zmianie dokumentu lub zmiana sterowania powiadomień.Jednak ta opcja może służyć za Windows Forms kontrole dokumentów programu Word.

    Poniższy przykład konfiguruje NamedRange formantu, aby automatycznie zaktualizować źródło danych, gdy wartość w formancie.W tym przykładzie założono, że NamedRange sterowania o nazwie namedRange1 z jego Value2 właściwość powiązany z polem w źródle danych.

    Me.NamedRange1.DataBindings("Value2").DataSourceUpdateMode = _
        DataSourceUpdateMode.OnPropertyChanged
    
    this.namedRange1.DataBindings["Value2"].DataSourceUpdateMode = 
        DataSourceUpdateMode.OnPropertyChanged;
    

Aby ustawić, aby automatycznie zaktualizować źródło danych w pamięci przy użyciu projektanta

  1. W programie Visual Studio Otwórz dokument programu Word lub skoroszytu programu Excel w projektancie.

  2. Kliknij formant, który chcesz automatycznie zaktualizować źródło danych.

  3. W Właściwości okna, rozwiń węzeł (powiązania danych) właściwość.

  4. Obok (zaawansowane) właściwość, kliknij przycisk wielokropka (VisualStudioEllipsesButton — zrzut ekranu).

  5. W Formatowanie i zaawansowane powiązanie okno dialogowe, kliknij przycisk Tryb aktualizacji źródła danych listy rozwijanej i wybierz jedną z następujących wartości:

    • Aby zaktualizować źródło danych, gdy formant jest sprawdzana, zaznacz OnValidation.

    • Aby zaktualizować źródło danych, gdy wartość właściwości formantu powiązanego z danymi, wybierz opcję OnPropertyChanged.

      [!UWAGA]

      OnPropertyChanged opcja nie ma zastosowania do kontroli hosta programu Word, ponieważ program Word ma nie oferta-zmianie dokumentu lub zmiana sterowania powiadomień.Jednak ta opcja może służyć za Windows Forms kontrole dokumentów programu Word.

  6. Zamknij Formatowanie i zaawansowane powiązanie okno dialogowe.

Aktualizowanie bazy danych

Jeśli źródło danych w pamięci jest skojarzony z bazy danych, należy zaktualizować bazy danych, zmiany w źródle danych.Aby uzyskać więcej informacji na temat aktualizowania bazy danych, zobacz Zapisywanie danych w zestawach danych i Jak: aktualizuje dane za pomocą TableAdapter.

Do aktualizacji bazy danych

  1. Wywołanie EndEdit metoda BindingSource dla formantu.

    BindingSource Jest generowany automatycznie podczas dodawania formantu powiązanego z danymi w dokumencie lub skoroszycie, w czasie projektowania.BindingSource Łączy formantu z zestawu danych wpisywanych w projekcie.Aby uzyskać więcej informacji, zobacz Składnik BindingSource, omówienie.

    W poniższym przykładzie kodu zakłada, że projekt zawiera BindingSource o nazwie customersBindingSource.

    Me.CustomersBindingSource.EndEdit()
    
    this.customersBindingSource.EndEdit();
    
  2. Wywołanie Update wygenerowanej metody TableAdapter w projekcie.

    TableAdapter Jest generowany automatycznie podczas dodawania formantu powiązanego z danymi w dokumencie lub skoroszycie, w czasie projektowania.TableAdapter Łączy zestawu danych wpisywanych w projekcie bazy danych.Aby uzyskać więcej informacji, zobacz Przegląd TableAdapter.

    W poniższym przykładzie kodu zakłada, że masz połączenie z tabeli Klienci w bazie danych Northwind i projekt zawiera TableAdapter o nazwie customersTableAdapter i wpisane zestawu danych o nazwie northwindDataSet.

    Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
    
    this.customersTableAdapter.Update(this.northwindDataSet.Customers);
    

Zobacz też

Zadania

Jak: aktualizuje dane za pomocą TableAdapter

Jak: przewijać rekordów bazy danych w arkuszu

Jak: wypełnianie arkuszach z danymi z bazy danych

Jak: wypełnianie dokumentów z danymi z obiektów

Jak: wypełnianie dokumentów z danymi z bazy danych

Jak: wypełnianie dokumentów z danymi z usług

Koncepcje

Zapisywanie danych w zestawach danych

Inne zasoby

Wiązanie danych do formantów w rozwiązania dla pakietu Office