cxPivotGrid - Pequena Tabela Dinamica - Rapida

Iremos ver como criar uma pequena tabela dinâmica de forma rápida com o DevExpress

Vamos lá...

Estou utilizando o Delphi 2009, DevExpress 5.2 e DbExpress. Porem a conexão com o banco pode ser feita de qualquer maneira.

 

Vamos criar uma tabela dinâmica mais dinâmica ainda. Os campos para utilização serão montados dinamicamente através de um comando SQL que informaremos ao banco, então, pode ser ORACLE, FIREBIRD, SQL SERVER, MYSQL e etc. que vai funcionar, só depende de você ajeitar a conexão.

1)  Vamos criar um novo projeto (File -> New -> VCL Form Application).

2)  Vamos adicionar um cxPageControl e criar duas TabSheet.

a.  A TabSheet1 será onde iremos colocar as informações referentes ao SQL.

b.  A TabSheet2 será onde iremos desfrutar de nossa tabela dinâmica. 

3)  Feito isso vamos adicioar os seguinte itens na TabSheet 1.

a.  CxMemo (Lipar a propiedade Lines);

b.  cxButton (Caption := Consultar); 

Obs: vamos adicionar um cxLookAndFeelControler para usar o skin Blue e deixar o visual mais agradável. 

Bem Vamos a conexão! 

Cada um pode fazer do jeito que achar melhor e usar o componente que quiser, porem precisamos fazer um validação no comando SQL e verificar se ele da um retorno e o mais importante é ter um clientDataSet.

Vamos adicionar o “Trio-Parada-Dura” (DataSetProvider, ClientDataSet, DataSource) um ligado ao outro respectivamente. 

Agora vamos adicionar o CARA, o cxDbPivotGrid na aba Result.

Ligamos ele na propriedade DataSource ao DataSource1 e vamos aos códigos.

No onclick do botão vamos adicionar:

begin 

  SQLDataSet1.Close;

  SQLDataSet1.CommandText := cxMemo1.Lines.Text;

  try

    SQLDataSet1.Open;

  except

    MessageDlg('Erro no SQL', mtError,[mbOK],0);

    Exit;

  end;

  ClientDataSet1.Close;

  ClientDataSet1.Open;

 

  cxDBPivotGrid1.DeleteAllFields;

  cxDBPivotGrid1.CreateAllFields;

  TabSheetResult.Show;

end;


Agora é só desfrutar das operações de arrastar e soltar para cruzar dados (os chefes adoram isso!).


Tela do SQL.



Tela da tabela dinâmica.


Bem pessoal, é uma dica bem basica mais acho que ficou legal. Logo estarei postando mais sobre o DevExpress.


William Galleti

msn: william.galleti@gmail.com


Artigos relacionados