MasterSource do ClientDataSet

Delphi

20/02/2012

Em cada cliente posso ter varios contatos.

Sendo assim, fiz da seguinte maneira:

- Informei o dsoCliente na MasterSource da cdsContatos
- Informei o ID_Cliente da cdsCliente no MasterFields da cdsContatos
- Abri a cdsContatos no AfterOpen da cdsCliente
- No OnStateChange da dsoContatos pego o RecordCount da cdsContatos

Acontece que no OnStateChange da dsoContatos, o cdsContatos.RecordCount está vindo com valor 1, mesmo não existindo registro na tabela CONTATO.
O dbgrdContatos está vazio mas os botões btnEditarContato e btnExcluirContatos estão habilitados. Isso não pode acontecer.

Minha dúvida é a seguinte, mesmo não exitindo contatos para o cliente, se está informado o dsoCliente como MasterSource da cdsContatos, o cdsContatos.RecordCount sempre virá com o valor mínimo 1?
Fábio Banhos

Fábio Banhos

Curtidas 0

Respostas

Marco Salles

Marco Salles

20/02/2012

Ao utilizar o DBX com o clientdataSet em uma estrutura Mestre/Detalhe o Delphi
disponibiliza em Mod RAD o NestedDataSet

Pesquise por NestedDataSet e voce vera como é fácil ter um relacionamento Mestre/Detalhes
GOSTEI 0
POSTAR