Clique aqui para ler todos os artigos desta edição
Data Binding no Visual Basic .NET
por Ken Spencer
Como posso obter o melhor do data binding nos aplicativos em Visual Basic® .NET?
Primeiro, vamos tratar um pouco da arquitetura. A Figura 1 mostra uma visão geral de uma maneira comum de usar data binding com uma fonte de dados (data source). Os dados são extraídos da fonte por meio de uma biblioteca de dados e colocados em um DataSet não tipado. O DataSet não tipado é usado para permitir o uso de uma biblioteca de acesso a dados genéricos. Isso lhe permite chamar uma única função que retorne qualquer DataSet. Você pode pegar esse DataSet não tipado e mesclá-lo a um DataSet tipado, usando duas tabelas correspondentes. Por fim, você pode vincular controles ao DataSet tipado.
Figura 1. Vinculando
Você deve estar se perguntando por que eu não estabeleci um vínculo diretamente com o DataSet não tipado. O DataSet tipado oferece recursos como early binding de campos. Isso permite que você use .CustomerName como um membro do DataSet ao invés de fazer referência à coleção Items com o valor "CustomerName," o que faz com que o processo de acesso a dados seja muito mais objetivo. O early binding também fornece suporte automático para data binding (vinculação de dados) em design-time. Com isso, você pode selecionar campos no editor e até mesmo acessar propriedades personalizadas em determinados controles.
Agora, vamos examinar o data binding. Observe a função a seguir que extrai os dados do SQL Server™ e retorna um DataSet:
Function RetrieveCustomerContacts() As DataSet
Dim ds As DataSet
Try
ds = RunSQLWithDataSet("Select CustomerID, " & _
"CompanyName,ContactName,NoOfCustomerVisits " & _
"from customers", ConnectionString, "Customers")
Catch ex As Exception
ds = Nothing
End Try
Return ds
End Function
Em seguida, considere um DataSet tipado chamado Customers com os campos a seguir, que adicionei ao projeto como dsCustomers.xsd (parte do XSD foi omitida para poupar espaço):