Fórum DBTreeView - Com Firebird e CDS ? #347743

23/10/2007

0

Caros colegas.
Estou com um problema.

Estou usando os componentes DBTreeview da http://www.table-report.com no meu caso que estou usando BD Firebird 1.5 e componentes DBExpress tenho que usar o componente DTClientTree neste componente a uma propriedade HASCHILDREN que precisa ser conectada a um campo Boolean que no Firebird pelo q sei não existe.
Qual seria a solução ? Alguem pode me ajudar ?

Muito Obrigado desde já.

Léo


Leo.123@uol.com.br

Leo.123@uol.com.br

Responder

Posts

23/10/2007

Aasn

Olá Léo,

experimente criar um domain no seu bd ´boolean´ tipo smallint default -1 e na sua aplicação Delphi acesse esse campo assim ex.:

CheckBox1.Checked := cdsBLOQUEADO.Value;

ele assume que ´-1´ equivale a True e ´0´ equivale a False

[]´s
AASN


Responder

Gostei + 0

24/10/2007

Leo.123@uol.com.br

Obrigado pela dica amigo.

Solucionei o problema criando um campo smallint no BD, e um campo calculado no Cds do tipo Booleano, não consegui passar os dados para o campo calculado pois da erro q a tabela não esta em modo de insert nem edit, então coloquei no [color=red:b9f6d0e4d7]OnDataChange:
{
ClientDataSet1.Edit;
iF ClientDataSet1HASCHILDREN.Value = -1 Then
ClientDataSet1CHILDREN.AsBoolean := False
else
ClientDataSet1CHILDREN.AsBoolean := True;
ClientDataSet1.post;
} [/color:b9f6d0e4d7]
Ai deu erro de Stack OverFlow.
++++++
Aí vem a grande surpresa na propriedade HasChildren do Componente liguei ao Campo Calculado criado e simplesmente FUNCIONOU rsrsrsrs.
O campo calculado sem nenhum dado ´nem default´ fez com q o Treeview montasse perfeitamente o Plano de Contas.
O problema é que eu não sei as consequências futuras, caso eu precise usar essa propriedade com um dado real True e False...
Aí morre o perigo.

Se alguem me entendeu e puder me ajudar. Estamos aí.

Obrigado a todos.

Léo


Responder

Gostei + 0

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

Aceitar