Quick Tips : Mestre Detalhe em Delphi

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Veja nesta Quick como fazer um mestre detalhe em Delphi



Olá galera, nesta Quick Tips, irei falar sobre Mestre/Detalhe em Delphi, é uma recurso muito interessante que temos no Delphi, simples de fazer porém no começo são varias propriedades, vários componentes, mas depois de que pegamos a prática fica bem simples.

 

O que seria Mestre / Detalhe?

            Mestre é o registro que existe por si só, e o detalhe precisa de um mestre para existir. É o caso da chave primária e chave estrangeira, Cliente e Telefone, Cliente e Endereco, Responsavel e Aluno, entre outros. Onde temos uma lista de telefones para um cliente ou uma lista de endereço para o cliente, ou até mesmo uma lista de alunos para um responsável.

 

Montando o Mestre Detalhe em Delphi. Estou usando um exemplo onde temos uma entidade responsável e uma entidade Aluno, e um aluno possui um responsável, e um responsável possui 1 ou N alunos.

 

Vamos montar a seguinte janela

Onde:

SDS = SqlDataSet

SDP = DataSetProvider

CDS = ClientDataSet

DS = DataSorce





  • SDSDetalhe

 

CommandText = SELECT A.IDALUNO, A.NOME, A.CPF, A.SEXO

FROM  ALUNO A

WHERE A.IDRESPONSAVEL = :IDRESPONSAVEL

Fico por aqui ate à próxima Quick Tips.

Obs : Observe que temos um parâmetro  que será tratado direto pelo Delphi, então declare esse parâmetro com o mesmo nome da chave primária de sua tabela.

 

DataSource = DSMestre_X_Detalhe

 

  • DSMestre_X_Detalhe

 

DataSet = SDSMestre

  • SDSMestre

 

CommandText = SELECT R.IDRESPONSAVEL, R.NOME, R.CPF, R.SEXO

FROM RESPONSAVEL R

 

  • DSPMestre

 

DataSet = SDSMestre

 

  • CDSMestre

 

ProviderName = DSPMestre

 

Adicione todos os Fields, observe que será adicionado um DataSetField chamado SDSDetalhe, ou seja o nome da DataSet de Detalhe, neste campo é que fazemos toda a mágica do mestre detalhe.

 

  • CDSDetalhe

 

DataSetField = CDSMestreSDSDetalhe

 

  • DSMestre

 

DataSet = CDSMestre

 

  • DSDetalhe

 

DataSet = CDSDetalhe

 

  • DBGridMestre

 

Obs : Será adicionado uma coluna onde ao clicarmos termos o resultado em um Panel dos detalhes do mesmo.

 

DataSource = DSMestre

 

  • DBGridDetalhe

 

DataSource = DSDetalhe

 

As configurações estão descritas passo-a-passo, é meio chato no começo, mas logo nos acostumamos, agora basta abrir o CDSDetalhe, e teremos o resultado.

 

 

Fico por aqui até a próxima Quick Tip.

 

Um abraço

 

Wesley Y



 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?