DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo Clube Delphi 84 - DataGrid - Criando colunas dinamicamente

Artigo da Revista Clube Delphi Edição 84.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Esse artigo faz parte da revista Clube Delphi Edição 84. Clique aqui para ler todos os artigos desta edição

ASP.NET

DataGrid - Criando colunas dinamicamente

 

Desde o lançamento do ASP.NET, o DataGrid é um dos controles mais empregados, principalmente pela sua fácil utilização e pela quantidade de recursos que auxiliam o desenvolvedor a criar páginas robustas e atrativas.

Com poucos cliques, tem-se acesso aos wizards que configuram as colunas (Property Builder) e o formato visual (Auto Format), restando apenas atribuir o DataSource, podendo ser um DataSet, DataTable, coleções, entre outros.

O objetivo deste artigo é mostrar a possibilidade de formatação e criação de colunas no DataGrid de forma dinâmica. É criado um projeto ASP.NET que efetua uma consulta de Produtos com suas respectivas Categorias, em um banco de dados do Firebird.

 

Nota: O banco de dados que acompanha o Firebird (Employee) não possui essas tabelas, então foi disponibilizado para download um banco com as respectivas tabelas.

 

Deseja-se apresentar ao usuário todos os Produtos agrupados por Categorias, com subtotais. Para isso, é utilizado como DataSource um DataTable criado a partir do retorno da consulta. Talvez você esteja se perguntando: “Por que criar colunas dinamicamente, se é possível criá-las sem uma linha de código e de forma quase que instantânea?”. Certo?

A resposta para essa pergunta pode ser melhor analisada através do seguinte questionamento: “Como fazer para que um mesmo DataGrid seja parametrizado de forma que em certas situações apresente X colunas e em outras situações apresente Y colunas?”. Resposta: Criar as colunas dinamicamente, podendo também utilizar artifícios de Orientação a Objetos como Herança e Polimorfismo.

Para aumentar a compreensão da resposta apresentada, imagine que você queira centralizar seus relatórios em apenas uma página ASPX com apenas um DataGrid e que cada relatório tenha uma consulta SQL diferente. Uma forma viável, através de OO, é criar uma classe pai RelatorioPadrao com dois métodos: retornaColunas e retornaDados e para cada relatório a ser gerado, criar classes filhas (exemplo RelatorioProduto) que irão sobrescrever esses métodos.

 Dessa forma, na página ASPX será instanciada a classe desejada e invocados os métodos que retornam as colunas do DataGrid e seu DataSource. Neste artigo, para simplificar, não será modelado através de classes e subclasses.

A criação das colunas, formatação do DataGrid e agrupamento com subtotais serão feitos diretamente na classe da interface (ASPX).

 

Dica: Para uma introdução ao uso do DataGrid no Delphi, veja o artigo de Rodrigo Sendin na edição 73.

 

Projeto

No Delphi 8, 2005 ou 2006 crie um projeto ASP.NET chamado “DataGridAgrupadoColunas” contendo um formulário chamado “GridAgrupadoColunas.aspx”. Adicione um "

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Marcos Santos (mossantos@hotmail.com) e Alexandre Santos (alexandrecpd@hotmail.com) são graduados em Ciências da Computação na UFSC, trabalham como Analistas de Sistemas na Softway Contact Center e com a plataforma .NET desde a versão Beta.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03