Criar CXGrid com Níveis

Delphi

11/04/2013

Boa Tarde.

Como faço para criar em tempo de execução, vários níveis , parecendo uma TreeView no CXGrid?
+ Pai
+ Filho
+ Neto
Teste1
Teste 2
Teste 3

Nas outras colunas, vou informar valores, onde deverão ser totalizados no Nível acima...
Fafa

Fafa

Curtidas 0

Respostas

Fafa

Fafa

11/04/2013

Melhor:

como faço para criar em tempo de execução, vários níveis , parecendo uma treeview no cxgrid?
+ pai
____+ filho
________+ neto
____________teste1
____________teste 2
____________teste 3

nas outras colunas, vou informar valores, onde deverão ser totalizados no nível acima...
GOSTEI 0
Junior Miranda

Junior Miranda

11/04/2013

Porque não usar o próprio cxTreeView?? Se ainda assim quiser utilizar o cxGrid, entre os exemplos disponibilizados há alguns que utilizam master/detail.

[]´s
GOSTEI 0
Fafa

Fafa

11/04/2013

Pode ser o CXDBTreeview, mas como uso ele? Não conheço as funções...
Pode me dar uma ajudinha? Estou criando tudo via código, pois as colunas são dinâmicas...
Pelo que olhei o exemplo que vem com a instalação, preciso criar as bandas com os meses e as colunas Previsto, Realizado e Diferença, dentro de cada banda e mais uma coluna com os Planos de Conta. Seria um Demonstrativo de Resultado do exercício, com o Fluxo de Caixa previsto e realizado.
Como faço para criar essa estrutura?
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

11/04/2013

Procure como fazer Master-Detail no cxGrid. Acho que nesse caso, é isso que você vai precisar, mas fazendo vários níveis.
GOSTEI 0
Fafa

Fafa

11/04/2013

Estou tentando trabalhar com o CXDBTreeList.
Consegui inserir as bandas, mas não estou conseguindo inserir as colunas.
Estou tentando assim:

LColuna := TcxDBTreeListColumn.Create(nil);
LColuna.Caption.Text := 'Previsto';
LColuna.Position.BandIndex := 1;

Quando executa LColuna.Position.BandIndex := 1, aparece o erro Access Violation...

O que pode ser?
GOSTEI 0
Juceir Souza

Juceir Souza

11/04/2013

Em Properties do componente TcxDBTreeList selecione DataController e defina as propriedades DataSource, KeyField e ParentField.
Vais precisar de um dataset com pelo menos 3 campos, e é recomendado que a ordenação seja feita por ParentField seguido por keyField. O ParentField deve ter o mesmo valor definido em um keyfield ou ter o mesmo valor definido em Rootvalue (isso indica que é um nó raiz).

Para adicionar o campo com a descrição dos itens dê um duplo clique sobre o componente TcxDBTreeList para abrir a janela onde você vai inserir um campo e selecionar o propriedade DataBind e definir o Fieldname

Se quiser adicionar imagens deverá ter mais um campo no dataset para usar na propriedade DataController/ImageIndexField. Deve usar ainda um componente ImageList que deverá ser definido na propriedade Images do TcxDBTreeList. O valor do índice das imagens no ImageList deve coincidir com o valor do campo no dataset.
GOSTEI 0
POSTAR