Partilhar via


Visão geral do componente BindingSource

O componente BindingSource foi projetado para simplificar o processo de vinculação de controles a uma fonte de dados subjacente. O componente BindingSource atua como um canal e uma fonte de dados para outros controles se ligarem. Ele fornece uma abstração da conexão de dados do formulário, ao mesmo tempo que transmite comandos para a lista subjacente de dados. Além disso, você pode adicionar dados diretamente a ele, para que o próprio componente funcione como uma fonte de dados.

Componente BindingSource como intermediário

O componente BindingSource atua como a fonte de dados para alguns ou todos os controles no formulário. No Visual Studio, o pode ser vinculado a um controle por meio da propriedade , que é acessível a partir da janela Propriedades . Consulte também Como: Vincular controles do Windows Forms com o componente BindingSource usando o Designer.

Você pode vincular o componente BindingSource a fontes de dados simples, como uma única propriedade de um objeto ou uma coleção básica, como ArrayList, e a fontes de dados complexas, como uma tabela de banco de dados. O componente BindingSource atua como um intermediário que fornece serviços de vinculação e gerenciamento de moeda. Em tempo de design ou de execução, você pode vincular um componente BindingSource a uma fonte de dados complexa definindo suas propriedades DataSource e DataMember ao banco de dados e à tabela, respectivamente. A ilustração a seguir demonstra onde o componente BindingSource se encaixa na arquitetura de vinculação de dados existente.

Fonte de Vinculação e Arquitetura de Vinculação de Dados

Observação

Em tempo de design, algumas ações, como arrastar uma tabela de banco de dados de uma janela de dados para um formulário em branco, criarão o componente BindingSource, vinculá-lo à fonte de dados subjacente e adicionar controles com reconhecimento de dados em uma única operação. Consulte também Vincular controles do Windows Forms a dados no Visual Studio.

Componente BindingSource como fonte de dados

Se você começar a adicionar itens ao componente BindingSource sem primeiro especificar uma lista à qual ser vinculado, o componente agirá como uma fonte de dados no estilo de lista e aceitará esses itens adicionados.

Além disso, você pode escrever código para fornecer funcionalidade "AddNew" personalizada por meio do evento AddingNew, que é gerado quando o método AddNew é chamado antes do item ser adicionado à lista. Para obter mais informações, consulte BindingSource Component Architecture.

Para usuários que precisam navegar pelos dados em um formulário, o componente BindingNavigator permite navegar e manipular dados, em coordenação com um componente BindingSource. Para obter mais informações, consulte BindingNavigator Control.

Manipulação de Dados

O: BindingSource atua como um CurrencyManager para todas as suas ligações e pode, assim sendo, fornecer acesso a informações sobre moeda e posição em relação à fonte de dados. A tabela a seguir mostra os membros que o componente BindingSource fornece para acessar e manipular os dados subjacentes.

Membro Descrição
Current propriedade Obtém o item atual da fonte de dados.
Position propriedade Obtém ou define a posição atual na lista subjacente.
List propriedade Obtém a lista que é das avaliações DataSource e DataMember. Se DataMember não estiver definido, retornará a lista especificada por DataSource.
Insert método Insere um item na lista no índice especificado.
RemoveCurrent método Remove o item atual da lista.
EndEdit método Aplica alterações pendentes à fonte de dados subjacente.
CancelEdit método Cancela a operação de edição atual.
AddNew método Adiciona um novo item à lista subjacente. Se a fonte de dados implementar IBindingList e retornar um item do evento AddingNew, adicionará esse item. Caso contrário, a solicitação é passada para o método AddNew da lista. Se a lista subjacente não for um IBindingList, o item será criado automaticamente por meio de seu construtor público sem parâmetros.

Classificação e filtragem

Normalmente, você deve trabalhar com uma exibição ordenada ou filtrada da fonte de dados. A tabela a seguir mostra os membros que a fonte de dados do componente BindingSource fornece.

Membro Descrição
Sort propriedade Se a fonte de dados for um IBindingList, obtém ou define um nome de coluna utilizado para ordenar e determinar a ordem de classificação das informações. Se a fonte de dados for um IBindingListView e oferecer suporte à classificação avançada, obtém vários nomes de coluna usados para a classificação e informações sobre a ordem de classificação.
Filter propriedade Se a fonte de dados for um IBindingListView, obtém ou define a expressão usada para filtrar quais linhas são exibidas.

Ver também