Curso de ADO.NET e BDP - Parte XIV

Acesso a dados no Delphi 8 for .NET

 

Parte XIV – O componente DataView

Dando continuidade ao nosso curso sobre acesso a dados no Delphi for .NET com ADO.NET e BDP, veremos neste artigo como utilizar o componente DataView do ADO.NET.

Um DataView permite que você crie diferentes “visões” de um mesmo conjunto de dados (DataTable). Você pode ter diferentes controles na tela exibindo os dados de um mesmo conjunto, porém usando uma ordenação ou filtro diferente em cada um. Na VCL, se você filtrar um ClientDataSet, essa alteração será repercutida em todos os controles de tela associados ao DataSource/DataSet. A vantagem no ADO.NET com DataView é justamente essa: oferecer diferentes maneiras de visualização de um mesmo DataTable.

Neste artigo, faremos um exemplo simples que mostrará como exibir dados de um DataTable em dois DataGrids, cada um usando um filtro diferente de dados. Você já deve estar familiarizado com o conceito de DataViews, pois fizemos vários exemplos na parte anterior deste curso usando o DefaultView do DataTable.

 

Nota: A partir desta parte do curso utilizaremos o Delphi 2005, no entanto sinta-se a vontade para usar o Delphi 8, caso queira.

Configurando os componentes do BDP e ADO.NET

Inicie uma nova aplicação do tipo Windows Forms Application. Expanda a conexão Employee no Data Explorer e arraste a tabela Department para o designer. Isso cria um BdpConnection e um BdpDataAdapter. Coloque um DataSet e aponte a propriedade DataSet do BdpDataAdapter para esse componente e configure seu Active para True.

Coloque dois componentes DataView no formulário e aponte a propriedade Table de ambos para DataTable1. Para DataView configure o RowFilter como “EMP_NO < 10” e para o segundo “EMP_NO > 140”. Com isso temos dois DataViews diferentes, cada um com um filtro específico, atuando sobre o mesmo DataTable

Configurando a interface de usuário

Inicie uma nova aplicação do tipo Windows Forms Application. Expanda a conexão Employee no Data Explorer e arraste a tabela Department para o designer. Isso cria um BdpConnection e um BdpDataAdapter. Coloque um DataSet e aponte a propriedade DataSet do BdpDataAdapter para esse componente e configure seu Active para True.

Coloque no formulário dois DataGrids, apontando o DataSource do primeiro para DataView1 e do segundo para DataView2. Seu formulário deve estar semelhante ao mostrado a seguir:

 

 

Execute e teste a aplicação. Observe que cada DataGrid exibe seus respectivos dados e o filtro não interfere no outro DataGrid. As alterações e demais operações de manipulação de dados (inclusão, exclusão etc.) são refletidas no mesmo DataTable. Você pode utilizar também no DataView os recurso que mostramos no artigo anterior com o DefaultView do DataTable, como localização (Find), restrição de acesso (AllowDelete, AllowNew e AllowEdit) etc.

Download

Você pode fazer download de todos os exemplos deste curso a partir do endereço http://cc.borland.com/cc/ccweb.exe/author?authorid=222668

Na próxima parte do curso conheceremos um pouco mais sobre o DataView, um abraço a todos e até lá!

Leia todos artigos da série