Dúvida com DevExpress

Delphi

23/04/2008

Alguém sabe como faço para colocar duas subconsultas no TcxGrid da Dev? Uma eu coloco, mas duas não está funcionando. As subconsuiltas são aqueles Master/Detail da Dev, que quando roda o aplicativo, fica um sinal de ´+´ no Grid, que no meu caso, deveria ficar dois sinais e não um como está.


Paulo

Paulo

Curtidas 0

Respostas

Tiagotecchio

Tiagotecchio

23/04/2008

Olá,

É muito simples. Basta adicionar uma nova DBTableView ao Level. Contudo, para que os dados fiquem coesos é necessário linkar uma view a outra através dos KeyFields do DataController. Posso postar um exemplo se vc estiver interessado.


GOSTEI 0
Paulo

Paulo

23/04/2008

Isso eu já fiz. Acontece que ele só mostra um relacionamento, ou seja, o primeiro na lista. Se eu inverto a ordem, ele mostra o novo primeiro. Atenção!!! Eu estou falando de um Master e 2 Detail para o mesmo Master. Não é 1 master e um detail e depois esse detail passa a ser um master para outro detail. No Grid principal deveria vir com 2 sinal de ´+´ e não um. É isso que eu não consigo fazer e nem sei se tem como.


GOSTEI 0
Tiagotecchio

Tiagotecchio

23/04/2008

E se tu criar dois TableViews no mesmo nível? Eu já fiz isso e funcionou. Para isso tiver q usar 3 queries. Uma pro master e duas para os details.
[/img]


GOSTEI 0
Paulo

Paulo

23/04/2008

Tiago, exatamente o que eu fiz, mas só funciona um. Êu fiz assim:
Tem o cxGrid. Dele eu criei um GridLevel e desse grid, um GridDBTableView1. Desse Level, eu adicionei outros dois niveis, GridLevel2 e 3, com seue DBTableView2 e 3. Cada um ligado a uma query, e seus MasterKeyField ligados ao CDS do GridLevel. Quando eu rodo o programa, só funciona o primeiro na lista, ou seja, o GridLevel vem somente com ´+´ e não dois como deveria ser. Não conseguir fazer funcionar como eu gostaria. Tenho que setar alguma outra coisa, ou escrever algum código? Já mexi treco pra caramba aqui e não consegui nada.


GOSTEI 0
Tiagotecchio

Tiagotecchio

23/04/2008

Olá Paulo,
Olha, no meu caso eu fiz o seguinte:
no DBTableView Mestre eu só setei o KeyFieldNames;
no 1º DBTableView Detalhe eu setei o DetailKeyFieldNames e o MasterKeyFieldNames igual ao KeyFieldNames do Mestre, e o KeyFieldNames eu liguei com um campo de identificação única, no meu caso, um ID;
no 2º DBTableView eu repeti a operação acima;

No momento da carga, eu carrego as 3 queries ao mesmo tempo e pronto, tudo ligado. Quais campos vc usa para relacionar uma query a outra? Se for por ID fica mais fácil do usar 2 ou 3 campos.


GOSTEI 0
Tiagotecchio

Tiagotecchio

23/04/2008

Ah, e lembrando,

Vc deu uma olhada na propriedade do 1º level Options.DetailTabsPosition?
Seta ela para dtpTop e depois sete os captions dos levels inferiores (exemplo Detalhe1 e Detalhe2)...


GOSTEI 0
Paulo

Paulo

23/04/2008

Axo que era so isso. O Option. Até agora tá funcionando, valeu!!!!!


GOSTEI 0
POSTAR