Social Icons

^^

quarta-feira, 27 de janeiro de 2010

Como utilizar um DBGrid?

Utilize este procedimento para apresentar os dados de um banco de dados em formato de grade, em linhas e colunas.



Procedimentos a serem executados:

 File->Use Unit e escolha a tela onde se encontram as tabelas. Selecione o componente DBGrid, e altere a propriedade DataSource (origem dos dados) de acordo com a tabela a ser apresentada na grade. Escolha para este exemplo Ds_Tab_Clientes.

 Dê um duplo-clique sobre o DBGrid e clique no botão Add all Fields

 Selecione os campos que não farão parte da grade e clique no botão Delete Selected para removê-los. Caso a grade faça parte de uma tela padrão, só será possível remover o campo através da janela Object Treeview.



Para deixar o DBGrid Zebrado:

No evento OnDrawColumnCell do DBGrid digite os seguintes comandos:

If Odd(dm.tab_Clientes.RecNo) and (dm.tab_Clientes.State <> dsInsert) then

begin //Lembre-se de colocar a unit DB na cláusula uses na unit da tela.

DBGrid1.Canvas.Brush.Color := clMoneyGreen; // muda a cor do pincel

DBGrid1.Canvas.FillRect(Rect); // Preenche o fundo com a cor especificada

DBGrid1.DefaultDrawDataCell(Rect,Column.Field,State);// desenha as células da grade

end;



Para ordenar os dados da grade ao clicar no título do campo: a ordenação será feita através da propriedade de tabela IndexFieldNames, que define o nome do índice para a classificação, conforme o campo clicado na grade (Column.FieldName)

 Crie na tela padrão uma variável global chamada Ascendente do tipo Boolean para que todas as telas de cadastro passem a utilizá-la.

 No evento OnShow, da tela padrão, digite: Ascendente := False;

 Em FrmCadCliente, no evento OnTitleClick do DBGrid digite:

Ascendente:= not Ascendente ;

If Ascendente then

Dm.tab_Clientes.IndexFieldNames := Column.FieldName + ' ASC'

else

Dm.tab_Clientes.IndexFieldNames := Column.FieldName + ' DESC';

OBS: Não digite os comandos na unit da tela padrão, somente na de cadastro.

Nenhum comentário:

Postar um comentário

Popular Posts

- Arquivo -

 

Seguidores

Hora exata:

Total de visualizações de página