Compartilhar via


Fontes de dados com suporte no Windows Forms

Tradicionalmente, a associação de dados era usada nos aplicativos para tirar proveito dos dados armazenados em bancos de dados. Com a associação de dados do Windows Forms, você pode acessar dados de bancos de dados, bem como dados em outras estruturas, como matrizes e coleções, desde que certos requisitos mínimos sejam atendidos.

Estruturas às quais associar

No Windows Forms, é possível associar a uma grande variedade de estruturas, desde objetos simples (associação simples) a listas complexas como tabelas de dados do ADO.NET (associação complexa). Para a associação simples, o Windows Forms dá suporte à associação às propriedades públicas no objeto simples. A associação baseada em lista do Windows Forms geralmente requer que o objeto ofereça suporte à interface ou à IListIListSource interface. Além disso, se você estiver vinculando com por meio de um componente, você pode vincular a um BindingSource objeto que oferece suporte à IEnumerable interface. Para obter mais informações sobre interfaces relacionadas à associação de dados, consulte Interfaces relacionadas à associação de dados.

A lista a seguir mostra as estruturas a que você pode associar no Windows Forms.

BindingSource
A BindingSource é a fonte de dados mais comum do Windows Forms e atua como um proxy entre uma fonte de dados e controles do Windows Forms. O padrão de uso geral BindingSource é vincular seus controles à fonte de dados e vinculá-la BindingSource à BindingSource fonte de dados (por exemplo, uma tabela de dados ADO.NET ou um objeto comercial). O BindingSource fornece serviços que habilitam e melhoram o nível de suporte à vinculação de dados. Por exemplo, controles baseados em lista do Windows Forms, como o DataGridView e ComboBox não oferecem suporte direto à vinculação a IEnumerable fontes de dados, no entanto, você pode habilitar esse cenário vinculando por meio de um BindingSource. Nesse caso, o BindingSource converterá a fonte de dados em um IListarquivo .

Objetos simples
O Windows Forms oferece suporte a propriedades de controle de vinculação de dados a propriedades públicas na instância de um objeto usando o Binding tipo. O Windows Forms também oferece suporte a controles baseados em lista de vinculação, como uma ListControl instância de objeto quando um BindingSource é usado.

Matriz ou coleção
Para atuar como uma fonte de dados, uma lista deve implementar a IList interface, um exemplo seria uma matriz que é uma instância da Array classe. Para obter mais informações sobre matrizes, consulte Como criar uma matriz de objetos (Visual Basic).

Em geral, você deve usar BindingList<T> ao criar listas de objetos para associação de dados. BindingList<T> é uma versão genérica da IBindingList interface. A IBindingList interface estende a interface adicionando propriedades, métodos e eventos necessários para a IList vinculação de dados bidirecional.

IEnumerable
Os controles do Windows Forms podem ser vinculados a fontes de dados que só oferecem suporte à IEnumerable interface se estiverem vinculados por meio de um BindingSource componente.

ADO.NET objetos de dados
ADO.NET fornece uma série de estruturas de dados adequadas para vinculação. Cada uma delas varia em termos de sofisticação e complexidade.

  • DataColumn. A DataColumn é o bloco de construção essencial de um , em que um DataTablenúmero de colunas compõem uma tabela. Cada DataColumn um tem uma propriedade que determina o tipo de dados que a coluna contém (por exemplo, a marca de um automóvel em uma DataType tabela que descreve carros). Você pode vincular um controle de forma simples (como a propriedade de um TextBox controle) a uma coluna dentro de uma tabela de Text dados.

  • DataTable. A DataTable é a representação de uma tabela, com linhas e colunas, em ADO.NET. Uma tabela de dados contém duas coleções: DataColumn, representando as colunas de dados em uma determinada tabela (que, em última análise, determinam os tipos de dados que podem ser inseridos nessa tabela) e DataRow, representando as linhas de dados em uma determinada tabela. Você pode vincular um controle às informações contidas em uma tabela de dados (como vincular o DataGridView controle a uma tabela de dados). No entanto, quando você se vincula a um DataTable, você é realmente uma associação para o modo de exibição padrão da tabela.

  • DataView. A DataView é uma exibição personalizada de uma única tabela de dados que pode ser filtrada ou classificada. Uma exibição de dados é o "instantâneo" dos dados usado por controles associados de forma complexa. Você pode associar de forma simples ou complexa aos dados em uma exibição de dados, mas lembre-se de que você está associando a uma "imagem" fixa dos dados em vez de uma fonte de dados limpa e atualizada.

  • DataSet. A DataSet é uma coleção de tabelas, relacionamentos e restrições dos dados em um banco de dados. Você pode vincular de forma simples ou complexa aos dados dentro de um conjunto de dados, mas esteja ciente de que você está vinculando ao padrão DataViewManager para o (consulte o DataSet próximo marcador).

  • DataViewManager. A DataViewManager é uma visão personalizada do todo DataSet, análoga a a DataView, mas com relações incluídas. Com uma coleção, você pode definir filtros padrão e opções de classificação para qualquer modo de exibição que o DataViewManager tem para uma DataViewSettings determinada tabela.

Confira também