Mi problema es el siguiente: por alguna razon en una tabla tengo almacenados registros padres y registros hijos , los registros hijos pueden pertenecer a una jerarquia de 5to nivel.
Lograr establecer la relacion de un registro padre con un registro hijo es facil, solo se requieren 2 campos. El problema aparece cuando yo quiero mostrar todos los registros en un grid de una manera jerarquica (como en un treeview), para Este objetivo necesito la creacion de campo especial que me permita establecer el debido Orden para mostrar la jerarquia adecuadamente.
A mi se me ocurrio la siguiente idea: digamos que un registro padre le creamos un Id=1 Y que el siguiente registro padre tiene un id= 2, entonces si quiero añadir un registro hijo Al primer registro padre solamente necesitaria establecer una formula como esta:
ActualRegistroPadre+SiguienteRegistroPadre/2=NuevoIdRegistroHijo
y asi sucesivemente para establecer el Id apropiado que me permita mostar los datos de una manera jerarquica (por supuesto esta es una manera simple de mostrar la solucion).
El problema es que tarde o temprano no tendre numeros de donde echar mano debido a las limitaciones de los campos numeric, float (necesito que cada padre pueda tener n
Numero de hijos [no subnodos, aunque n numero de subnodos seria fantastico] ).
Se que utilizando estructuras como listas o arreglos el problema se podria solucionar (incluso se podria tener una jerarquia de n niveles y n numero de hijos), pero
Desafortunadamente no domino lenguajes como C como para lograr llegar a una solucion
como esa. Ademas se me podria proponer utilizar el MsHflexgrid pero desafortunadamente este control solo es de lectura y creo que cada nivel de la jerarquia debe estar almacenadoen una tabla, entre otras cosas.
Como solucionar este problema?
Mi segunda pregunta seria acerca de tablas jerarquicas, es decir, es normal almacenar
Tanto los registros padres como los reg hijos en una misma tabla?
Gracias