Visão geral do componente BindingSource

O BindingSource componente foi projetado para simplificar o processo de vinculação de controles a uma fonte de dados subjacente. O BindingSource componente atua como um conduíte e uma fonte de dados para que outros controles se vinculem. Ele fornece uma abstração da conexão de dados do formulário enquanto passa comandos para a lista de dados subjacente. 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 um intermediário

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

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

Binding Source and Data Binding Architecture

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 BindingSource componente, vinculá-lo à fonte de dados subjacente e adicionar controles com reconhecimento de dados em uma única operação. Confira também Associando controles dos Windows Forms a dados no Visual Studio.

Componente BindingSource como uma fonte de dados

Se você começar a adicionar itens ao BindingSource componente 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 AddingNew evento, que é gerado quando o AddNew método é chamado antes do item ser adicionado à lista. Para obter mais informações, consulte Arquitetura do componente BindingSource.

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

Manipulação de dados

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

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

Classificando e filtrando

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 BindingSource componente fornece.

Membro Descrição
Propriedade Sort Se a fonte de dados for um , obterá ou definirá um IBindingListnome de coluna usado para classificar e classificar informações de ordem. Se a fonte de dados for um e oferecer suporte à classificação avançada, obterá vários nomes de coluna usados para classificar e informações de IBindingListView ordem de classificação
Propriedade Filter Se a fonte de dados for um IBindingListView, obterá ou definirá a expressão usada para filtrar quais linhas serão exibidas.

Confira também