Fórum Explosao da estrutura de produtos em um DBGrid #363640

09/09/2008

0

bom dia, estou criando um mini-sistema com MRP gostaria de listar as estruturas do produto nivel a nivel em um DBGrid

por exemplo:


Cadeira amostra
---Estrutura da cadeira amostra
------Pés frontais
------Pés trazeiros
------Travessas
---Assento da cadeira amostra
------Chapa do assento
------Tecido
------Espuma


dentro da estrutura da cadeira teria cadastrado só: Estrutura da cadeira e assento da cadeira

dentro da estrutura da cadeira teria os pés travessas etc...



estive pensando em algo com Inner join ou algo do genero para fazer isso... mas eu não conseguiria dar o espasso para ´distinguir´ os niveis ficaria tudo ´desordenado´ asim:
Cadeira Amostra
Estrutura Cadeira Amostra
Pés Frontais
Pés Traseiros
Travessas
Assento da Cadeira Amostra
....


Frega

Frega

Responder

Posts

10/09/2008

Adoniram

Esses dados estão na mesma tabela?


Responder

Gostei + 0

10/09/2008

Frega

sim os dados estao todos numa mesma que esta asim...


Pai
Filho
Quantidade

tenho a cadeira 12345678 o pé 5555555 e a madeira 9988776655


ficaria


pai --------------------- filho ------------------ Quantidade do Filho
12345678 ----------------555555555 --------------- 1 UN
55555555 ---------------- 9988776655 ------------- 0.008 M³


asim esta na tabela mas para visualizar queria que ficasse no esquema citado acima...


Responder

Gostei + 0

10/09/2008

Adoniram

O que eu acho que você poderia fazer é trazer todo mundo em um select simples para uma tabela temporária (um clientdataset por exemplo) depois vc percorreria essa tabela temporária em uma procedure recursiva, passando como parâmetro o código do produto pai e um outro parâmetro que seria um espaço. A cada chamada a essa procedure, a rotina desceria um nível na sua hierarquia, devido a sua recursividade.

Ou então vc poderia usar um cxDBTreeView que faz isso automáticamente para você.


Responder

Gostei + 0

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

Aceitar