Fórum Tabela Mestre-detalhe #257414

05/11/2004

0

Pessoal

Em uma aplicação tenho cadastro de equipamentos e cadastro de componentes - equipamentos. O cadastro de componentes-equipamentos está em uma grid, quando é dado um post para salvar os equipamentos deveria ser salvo componentes-equipamentos mas esses dados que estão na grid, simplesmente desaparecem. Eles estão relacionados através de mastersouce pelo campo cd_equip. Estou usando interbase 6.0 com conexão BDE.


Rogério


Rogeranalista

Rogeranalista

Responder

Posts

06/11/2004

Sremulador

você tem certeza que esta salvando os dados master na tabela det ???


Responder

Gostei + 0

07/11/2004

Gurc

Não sei se é este o seu caso, mas, quando se usa um relacionamento Master Detail com mais de 2 DataSets podemos encontrar alguns problemas. Vou tentar ser mais claro.
Imagine 3 DataSets. O C é Detail do B que, por sua vez, é Detail do A. Se editamos os dados do DataSet C e dermos um Post no DataSet A, o que esperaríamos? Que o A desse um Post em A, B e C, talvez, certo? Poisé, mas não é bem isso que é feito. Quando o DataSet A recebe um pedido de Post ele verifica se os Details imediatos dele foram alterados, no caso o B. Se B tiver sido alterado ele dá um Post em B que, por sua vez, pode dar um Post em C, seguindo a mesm lógica. Agora, se C é alterado e B não, o A envia uma mensagem de Cancel para B que cancela C por sua vez. Isso tudo é testado através da propriedade, somente leitura, Modified. Para conseguirmos alterá-la, devemos usar de um artifício conhecido como o Hack de Protected e acessar o método protegido SetModified configurando o Modified de B para True.
Mais informações a respeito, me coloco a inteira disposição.
Até mais,
Gustavo Royer Chaurais


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar