Como: atualizar uma fonte de dados com dados de um controle de Host
Você pode associar um controle do host a uma fonte de dados e atualizar a fonte de dados com as alterações que são feitas aos dados no controle.Há duas principais etapas em esse processo:
Atualizar a fonte de dados em memória com os dados modificados no controle.Normalmente, a fonte de dados em memória é DataSet, DataTable, ou outro objeto de dados.
Atualizar o banco de dados com os dados modificados na fonte de dados na memória.Isso é aplicável somente se a fonte de dados é conectada a um banco de dados back-end, como um banco de dados SQL Server ou do Microsoft Office Access.
Para obter mais informações sobre associação de controles e dados host, consulte Itens de host e visão geral sobre controles de Host e A ligação de dados a controles em soluções do Office.
Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para os seguintes aplicativos: Excel 2013 e Excel 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Atualizar a fonte de dados em memória
Por padrão, os controles host que permitem a associação de dados simples (como controles de conteúdo em um documento do word ou controle do intervalo nomeado em uma planilha do excel) não salvar alterações de dados para a fonte de dados na memória.Isto é, quando um usuário final altera um valor em um controle do host e então navega fora do controle, o novo valor no controle não é salvo automaticamente para a fonte de dados.
Para salvar os dados para a fonte de dados, você pode escrever código que atualiza a fonte de dados em resposta a um evento específico em tempo de execução, ou você pode configurar o controle para atualizar automaticamente a fonte de dados quando o valor nas alterações de controle.
Você não precisa salvar alterações de ListObject para a fonte de dados na memória.Quando você associa um controle de ListObject a dados, o controle de ListObject salva automaticamente alterações na fonte de dados em memória sem exigir o código adicional.
Para atualizar em tempo de execução a fonte de dados em memória
Chame o método de WriteValue do objeto de Binding que associa o controle à fonte de dados.
O exemplo salva as alterações feitas a um controle de NamedRange em uma planilha do excel para a fonte de dados.Este exemplo pressupõe que você tem um controle de NamedRange chamado namedRange1 com seu limite de propriedade de Value2 a um campo em uma fonte de dados.
Me.NamedRange1.DataBindings("Value2").WriteValue()
this.namedRange1.DataBindings["Value2"].WriteValue();
Atualizando automaticamente a fonte de dados em memória
Você também pode configurar um controle de modo que atualiza automaticamente a fonte de dados na memória.Em um projeto da nível de usuário, você pode fazer isso usando código ou o designer.Em um projeto de aplicativo, você deve usar código.
Para definir um controle para atualizar automaticamente a fonte de dados na memória usando código
Use o modo de System.Windows.Forms.DataSourceUpdateMode.OnPropertyChangeddo objeto de Binding que associa o controle à fonte de dados.há duas opções para atualizar a fonte de dados:
Para atualizar a fonte de dados quando o controle é validado, defina essa propriedade como System.Windows.Forms.DataSourceUpdateMode.OnValidation.
Para atualizar a fonte de dados quando o valor da propriedade associada a dados do controle for alterado, defina essa propriedade como System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged.
Observação A opção de System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged não se aplica para exprimir controles host, porque a palavra não oferecem notificações de alteração ou de controle da alteração.Em o entanto, essa opção pode ser usada para controles de formulários do windows em documentos do word.
O exemplo de NamedRange configurar um controle para atualizar automaticamente a fonte de dados quando o valor nas alterações de controle.Este exemplo pressupõe que você tem um controle de NamedRange chamado namedRange1 com seu limite de propriedade de Value2 a um campo em uma fonte de dados.
Me.NamedRange1.DataBindings("Value2").DataSourceUpdateMode = _ DataSourceUpdateMode.OnPropertyChanged
this.namedRange1.DataBindings["Value2"].DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
Para definir um controle para atualizar automaticamente a fonte de dados na memória usando o designer
Em o Visual Studio, abra o documento ou pasta de trabalho do Excel do word no designer.
Clique no controle que você deseja atualizar automaticamente a fonte de dados.
Em a janela de Propriedades , expanda a propriedade de (DataBindings) .
A o lado da propriedade de (Avançado) , clique no botão de reticências ().
Em a caixa de diálogo de Formatação e Associação Avançada , clique na lista suspensa de Modo de Atualização da Fonte de Dados e selecione um dos seguintes valores:
Para atualizar a fonte de dados quando o controle é validado, OnValidationselecione.
Para atualizar a fonte de dados quando o valor da propriedade associada a dados do controle for alterado, OnPropertyChangedselecione.
Observação A opção de OnPropertyChanged não se aplica para exprimir controles host, porque a palavra não oferecem notificações de alteração ou de controle da alteração.Em o entanto, essa opção pode ser usada para controles de formulários do windows em documentos do word.
fechar a caixa de diálogo de Formatação e Associação Avançada .
atualizando o banco de dados
Se a fonte de dados em memória está associada com um banco de dados, você deve atualizar o banco de dados com as alterações na fonte de dados.Para obter mais informações sobre como atualizar um banco de dados, consulte Salvar dados em Datasets e Como: atualizar dados usando um TableAdapter.
para atualizar o banco de dados
Chame o método de EndEdit de BindingSource para o controle.
BindingSource é gerado automaticamente quando você adiciona um controle associado a dados a um documento ou a uma pasta de trabalho em tempo de design.BindingSource conecta o controle ao dataset tipado em seu projeto.Para obter mais informações, consulte Visão geral sobre o componente BindingSource.
O exemplo de código a seguir pressupõe que o projeto contém BindingSource chamado customersBindingSource.
Me.CustomersBindingSource.EndEdit()
this.customersBindingSource.EndEdit();
Chame o método de Update de TableAdapter gerado em seu projeto.
TableAdapter é gerado automaticamente quando você adiciona um controle associado a dados a um documento ou a uma pasta de trabalho em tempo de design.TableAdapter conecta o dataset tipado em seu projeto ao banco de dados.Para obter mais informações, consulte Visão geral do TableAdapter.
O exemplo de código a seguir pressupõe que você tenha uma conexão para a tabela clientes no banco de dados Northwind, e se o projeto contém TableAdapter chamado customersTableAdapter e um dataset tipado chamado northwindDataSet.
Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
this.customersTableAdapter.Update(this.northwindDataSet.Customers);
Consulte também
Tarefas
Como: atualizar dados usando um TableAdapter
Como: rolar pelos registros de banco de dados em uma planilha
Como: preencher as planilhas com dados de um banco de dados.
Como: preencher documentos com dados de objetos
Como: preencher documentos com dados de um banco de dados.
Como: preencher documentos com dados de serviços