DataGridView Control
Seminário: DataGridView Control. Pesquise 862.000+ trabalhos acadêmicosPor: Std8br • 28/8/2014 • Seminário • 1.028 Palavras (5 Páginas) • 296 Visualizações
O Controle DataGridView suporta o modelo padrão de vinculação dos formulários Windows,
e, desta forma pode ser vinculado a uma variedade de fonte de dados. Em muitas
circunstâncias você efetuará a vinculação a um componente BindingSource que irá gerenciar
os detalhes da interação com a fonte de dados.
O componente BindingSource pode representar qualquer fonte de dados em um formulário
Windows e dá a você uma grande flexibilidade quando da seleção ou modificação da
localização dos seus dados.
Podemos fazer a vinculação do BindingSource qualquer um dos seguintes
objetos/Interfaces:
- Object
- System.Type
- IEnumerable
- ICollection
- IList
- IListSource
- IBindingList
- IBindingListView
Resumindo, o componente BindingSource possui duas funções básicas:
1. Simplificar a vinculação de controles em um formulário a fonte de dados, fornecendo
diversos recursos para realizar as operações com dados. Isto é possível pela vinculação
do componente a sua fonte de dados e então vincular os controles do formulário ao
componente BindingSource. Todas as interações com os dados tais como : navegação,
filtragem, atualização, ordenação são feitas pela chamada ao componente
BindingSource.
2. Poder atuar como uma fonte de dados fortemente tipada. O tipo da fonte de dados
relacionada é definida através de um dos seguintes mecanismos:
Usar o método Add para incluir um item ao componente BindingSource
Definir a propriedade DataSource para uma lista , um objeto ou tipo.
Ambos mecanismos criam um lista fortemente tipada, e , o BindingSource suporte a
vinculação simples e complexa de dados como indicada pelas suas propriedade DataSource e
DataMember
O BindingSource fornece membros para acessar os dados relacionados. O item atual pode ser
retornado através da propriedade Current, e lista inteira pode ser retornada através da
propriedade List.
22/5/2014 Vinculando dados ao DataGridView
http://www.macoratti.net/vbn_dgv2.htm 2/6
As operações de edição são suportadas no item atual através dos métodos : Current ,
RemoveCurrent, EndEdit, CancelEdit, Add e AddNew.
Embora o tratamento de valores atualizados é feito automaticamente para todos os tipos de
fonte de dados, a classe fornece os eventos CurrentItemChanged and DataSourceChanged,
que permitem uma customização.
A fonte de dados que são vinculadas ao BindingSource podem ser percorridas e gerenciadas
com a classe BindingNavigator que fornece uma interface para navegação pelos itens da
lista. Embora o BindingNavigator possa ser vinculado a qualquer fonte de dados ele foi
criado para ser integrado com o BindingSource através da propriedade
BindingNavigator.BindingSource
Muitos membros da classe BindingSource operam na lista relacionada representada pela
propriedade List, e, simplesmente referencia suas operações para lista relacionada. Desta
forma quando o BindingSource esta vinculado a uma implementação customizada de IList, o
comportamento dos membros podem diferir do comportamento descrito na documentação
da classe. Assim, o método RemoveAt chama IList.RemoveAt. Na documentação o método
RemoveAt é descrito considerando que a implementação de IList foi corretamente
implementada.
A propriedade padrão para a classe BindingSource é DataSource e o evento padrão é
CurrentChanged.
Nota: Como o BindingSource suporta a vinculação a fonte de dados simples e a complexas,
a terminologia pode ser confusa. O temo list refere-se a coleção de dados da fonte de
dados , item denota um simples elemento. Para fonte de dados complexas os termos
equivalentes table e row são usados
Em suma, o componente BingindSource veio para resolver alguns problemas do databinding.
Como você já viu, o BindingSource possui as propriedades DataSource e DataMember que
você pode definir e vincular ao BindingSource , podendo inclusive alterar o DataSource do
BindingSource e a vinculação ainda vai continuar funcionando.
Se você resolver usar o DataGridView para exibir os dados da tabela Customers usando o
BindingSource usará o seguinte código:
Dim dgv As
DataGridView = New
DataGridView()
Dim bs As
BindingSource = New
BindingSource()
bs.DataSource =
CustomerTable
dgv.DataSource = bs
22/5/2014
...