Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Clube Delphi Magazine 64 - DevExpress QuantumGrid
Artigo publicado pela Clube Delphi edição 64.

DevExpress QuantumGrid
Incrementando o uso de Grids
A apresentação e entrada de dados no formato de tabela é uma coisa bastante comum nos programas Delphi. Muitas vezes, estamos procurando uma característica especial, que não é fornecida nos componentes que vêm com o Delphi para essa finalidade: StringGrid, DrawGrid e DBGrid.
Algumas dessas funcionalidades mais procuradas são o desenho especial, como quando desenhamos os números negativos em vermelho, o desenho de memos ou figuras nas células da grade, ou o uso de editores especiais nas células: ComboBoxes, CheckBoxes, Memos etc.
Os fornecedores de componentes apresentam uma variedade enorme de componentes desse tipo, que implementam alguma funcionalidade, mas dificilmente algum Grid tem tudo o que necessitamos. Terminamos assim usando diversos componentes do tipo Grid, um para cada finalidade. O ideal é que pudéssemos usar apenas um componente, que permitisse englobar todos os usos que desejamos.
Na busca pelo Grid ideal, encontrei o DevExpress QuantumGrid, um componente que foi apontado como melhor componente VCL pelos leitores da revista Delphi Informant (Delphi Informant Magazine's Readers Choice Awards) nos anos de
Introdução ao DevExpress QuantumGrid
A DevExpress, desenvolvedora do QuantumGrid, não disponibiliza uma versão de teste, embora tenha uma política de devolução de dinheiro até os 60 dias de registro. Ao instalar esse componente, a primeira impressão que temos é de intimidação: são criados 13 diretórios, quatro guias na paleta de componentes e instalados mais de 70 novos componentes. Além do Grid, são instalados diversos editores, em versões não ligadas a dados como também Data-Aware.
A segunda surpresa vem ao colocar o componente cxGrid no formulário: onde estão as propriedades do componente? O componente tem relativamente poucas propriedades, a maioria relativa à aparência (bordas, alinhamento). Como é feita a ligação do DataSource ao Grid?
Na realidade, não há nada de errado com a instalação. Esta grid tem uma filosofia diferente das demais, visando sua flexibilidade. O Grid é um “container”, guardando mais de uma visualização dos dados. Desta maneira, um mesmo Grid pode mostrar diversos dados de uma vez ou o mesmo dado, de maneiras diferentes. O esquema de trabalho com o Grid é o seguinte: um Grid pode conter diversos níveis, que dão uma noção hierárquica dos dados. Por exemplo, se quisermos mostrar uma relação mestre/detalhe no Grid, como os clientes e seus pedidos, usaremos dois níveis, um principal, para os clientes e um sub-nível, para os pedidos.
Cada nível pode conter diversas visualizações. Por exemplo, podemos ver os clientes como uma tabela ou no formato de “cartões”, onde cada campo está em uma linha do quadro. Com essa maneira de organizar os dados temos a flexibilidade de mostrar as informações que queremos, podendo facilmente alterar a maneira de apresentá-los ou mesmo mudar o que será apresentado.
Vamos então criar nossa primeira aplicação usando o QuantumGrid.
Criando o primeiro exemplo com o Grid
Crie uma nova aplicação, colocando um cxGrid, configurando sua propriedade Align para alClient. Coloque um ClientDataSet, dando um clique de direita com o mouse e selecionando Load from MyBase table. Selecione o arquivo animals.xml que encontra-se por padrão
Adicione um DataSource, ligando-o ao ClientDataset. O passo seguinte é configurar o Grid, ligando-o ao DataSet. Na parte inferior do Grid há um quadro, como mostrado na Figura 1.
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Bruno Sonnino
Bruno Sonnino (sonnino@clubedelphi.net) é Engenheiro pela Escola Politécnica da USP e desenvolvedor Delphi desde a sua primeira versão. É autor de diversos artigos na revistas ClubeDelphi e Delphi Informant, americana e desenvolveu utilitários para a revista PCMagazine US. É autor dos livros "Delphi...



