Fontes de dados suportadas pelo Windows Forms
Tradicionalmente, a vinculação de dados tem sido usada dentro de aplicativos para aproveitar os 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 tenham sido atendidos.
Estruturas às quais se ligar
No Windows Forms, você pode vincular a uma ampla variedade de estruturas, desde objetos simples (vinculação simples) até listas complexas, como tabelas de dados ADO.NET (vinculação complexa). Para vinculação simples, o Windows Forms oferece 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 IList ou à interface IListSource. Além disso, se você estiver vinculando por meio de um componente BindingSource, poderá vincular a um objeto que ofereça suporte à interface IEnumerable. Para obter mais informações sobre interfaces relacionadas à vinculação de dados, consulte Interfaces relacionadas à vinculação de dados.
A lista a seguir mostra as estruturas às quais você pode se vincular no Windows Forms.
BindingSource
Um BindingSource é a fonte de dados mais comum do Windows Forms e atua como proxy entre uma fonte de dados e os controles do Windows Forms. O padrão geral de uso BindingSource é vincular seus controles ao BindingSource e vincular o BindingSource à fonte de dados (por exemplo, uma tabela de dados ADO.NET ou um objeto comercial). O BindingSource fornece serviços que permitem e melhoram o nível de suporte à vinculação de dados. Por exemplo, os controles baseados em lista do Windows Forms, como o DataGridView e o ComboBox, não oferecem suporte direto à vinculação a fontes de dados IEnumerable, 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 IList.
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 tipo Binding. O Windows Forms também oferece suporte a controles baseados em lista de vinculação, como uma ListControl a uma instância de objeto quando um BindingSource é usado.
matriz ou coleção
Para atuar como uma fonte de dados, uma lista deve implementar a interface IList; Um exemplo seria uma matriz que é uma instância da classe Array. 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 vinculação de dados. BindingList<T> é uma versão genérica da interface IBindingList. A interface IBindingList estende a interface IList adicionando propriedades, métodos e eventos necessários para a vinculação de dados bidirecional.
IEnumerable
Os controles do Windows Forms podem ser vinculados a fontes de dados que só oferecem suporte à interface IEnumerable se estiverem vinculados por meio de um componente BindingSource.
ADO.NET objetos de dados
ADO.NET fornece uma série de estruturas de dados adequadas para vinculação. Cada um varia em sua sofisticação e complexidade.
DataColumn. Um DataColumn é o bloco de construção essencial de um DataTable, na medida em que um número de colunas compõem uma tabela. Cada DataColumn tem uma propriedade DataType que determina o tipo de dados que a coluna contém (por exemplo, a marca de um automóvel em uma tabela que descreve carros). Você pode vincular um controle (como a propriedade Text de um controle TextBox) a uma coluna dentro de uma tabela de dados.
DataTable. Um 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 controle DataGridView a uma tabela de dados). No entanto, quando vincula a um DataTable, está realmente a vincular-se ao modo de exibição padrão da tabela.
DataView. Um DataView é uma exibição personalizada de uma única tabela de dados que pode ser filtrada ou classificada. Uma vista de dados é o "instantâneo" de dados usado por controles vinculados a dados complexos. Você pode vincular de forma simples ou complexa aos dados dentro de uma exibição de dados, mas esteja ciente de que está vinculando a uma "imagem" fixa dos dados em vez de uma fonte de dados limpa e atualizada.
DataSet. Um DataSet é uma coleção de tabelas, relações e restrições dos dados em um banco de dados. Você pode vincular simples ou complexamente aos dados dentro de um conjunto de dados, mas esteja ciente de que está vinculando ao DataViewManager padrão para o DataSet (consulte o próximo ponto).
DataViewManager. Um DataViewManager é uma visão personalizada de toda a DataSet, análoga a um DataView, mas com relações incluídas. Com uma coleção DataViewSettings, você pode definir filtros padrão e opções de classificação para quaisquer modos de exibição que o DataViewManager tenha para uma determinada tabela.
Ver também
.NET Desktop feedback