Desenvolvimento - C#

Windows Forms 2.0 - DataGridView - Mais novidades!!!

Neste artigo vou mostrar como é fácil montar um Grid principal que quando clicado preenche um Grid filho com os dados filtrados. Além disso será mostrado com é fácil editar as colunas sem linha de código, algo que não era possível na versão 1.0.

por Alexandre Tarifa



Trabalhar com Grid é algo muito comum em aplicações. O Winform 1.0 e 1.1 chegou com muitas novidades em distribuição, multi-linguagem, entre outros recursos do .Net, porém o controle de grid foi esquecido e chegou a ser muito inferior ao grid do Asp.Net, algo que chega a ser inacreditável. Não que o Grid do winforms não seja poderoso, ele é sim, porém exige muita, muita e muita programação, escovação de bits, em alguns momentos exige uma genialidade e em outros algumas soluções alternativas.

Chegou o Winforms 2.0, versões beta por todas as partes e finalmente, um Grid sensacional, muito completo e muito fácil de ser utilizado.

Já escrevi um artigo sobre o novo Grid que traz o nome de DataGridView, porém são tantas novidades que precisaria de uma série de artigos para mostrar tudo.

No primeiro artigo mostrei como é simples carregar um Grid, colocar uma ComboBox como coluna e relacionei entre as duas tabelas.

Neste artigo vou mostrar como é fácil montar um Grid principal que quando clicado preenche um Grid filho com os dados filtrados. Além disso será mostrado com é fácil editar as colunas sem linha de código, algo que não era possível na versão 1.0.

Abra o Visual Basic 2005 Express, inicie um novo projeto Windows Application (Figura 1) com o nome de DataGrid.


Figura 1 - Novo projeto

Vamos utilizar um Banco de Dados Access para esta demonstração, com o nome de Banco.mdb e com a seguinte estrutura de tabelas:

tblCategoria

tblColunista

Relacionamento

O próximo passo será iniciar uma conexão com o Banco de Dados criado, utilizaremos a nova janela do Visual Studio, chamada DataSource (figura 2) que é responsável por facilitar a conexão com dados.


Figura 2 - Nova janela de DataSource.

Selecione Add New Data Source na janela de Data Source, um Wizard será aberto. Clique em Next, Selecione Local DataBase File e Next, selecione o banco de dados pelo botão Browse e Next, selecione as tabelas que utilizaremos (tblCategoria e tblColunista) e Finish.

Após a conexão com o Banco, a janela de Data Source exibe todas as tabelas conectadas (figura 3) .


Figura 3 - Data Source conectados.

Para preencher o Grid agora é bem simples, selecione a tabela de Categoria (tblCategoria) e arraste para dentro do formulário (figura 4).


Figura 4 - Grid criado. A conexão com o Banco é montada. Para melhorar o visual é possível mudar toda a aparência, largura de colunas na opção Edit Column nas propriedades do grid.

Deixe o formulário de uma forma semelhante a imagem abaixo:


Figura 5 - Modelo do formulário.

Agora será criado o detalhe do Grid de Categoria, ou seja, quando for clicado em uma categoria um grid filho será carregado com os colunistas. Essa tarefa é simples? SIM! Pode ser mais? Claro! Como?
Simples demais, clique na SmartTag (Figura 6) e selecione Configure Master Detail.


Figura 6 - Smart Tag.

Uma nova janela é aberta, chamada Add Related Databound UI. Selecione a tblColunista e duas opções podem ser escolhidas: Grid ou Details, ou seja, o detalhe do grid pode sem em forma de grid ou campos. Selecione Grid e clique em OK.


Figura 7 - Configurando.

Um novo Grid como mágica é adicionado no formulário. Execute a aplicação e selecione as categorias no grid superior.


Figura 8 - Execução do projeto.

Pronto o Master Detail está pronto. Delete o grid de colunista e volte na etapa de criação do Master Detail e desta vez selecione Detail. O detalhe é adicionado em forma de campos. Execute a aplicação novamente e teste.


Figura 9 - Formulário.

Sensacional não? Acredito que para pequenas aplicações é uma ótima solução para REDUZIR um grande tempo de desenvolvimento... a chamada PRODUTIVIDADE!

Existem ainda muitas coisas legais no novo DataGrid, em breve eu mostro mais.

Se você tem interesse em aprender .net ou discutir .net entre no grupo de usuários Codificando.net - São Paulo.

Se tiver alguma dúvida, crítica, sugestão de artigo, fale comigo: alexandretarifa@gmail.com. Abraços.

Alexandre Tarifa
Líder Codificando.net SP

Alexandre Tarifa

Alexandre Tarifa - Ministra palestras e treinamentos, MVP (Most Valuable Professional), MCAD (Microsoft Certified Application Developer) e MCT (Microsoft Certified Trainer). Bacharel pela UMESP e pós-graduando pela Universidade Federal de São Carlos em Ciência da Computação. Analista de Sistemas e Líder do grupo de usuários Codificando.net São Paulo (sp.codificando.net). Escreve artigos para a revista MSDN Magazine e para os sites Linha de Código, MSDN Brasil e Enterpriseguys.
Visite o blog do autor: http://weblogs.pontonetpt.com/alexandretarifa/.