Foros del Web » Programación para mayores de 30 ;) » Java »

Crear un arbol jerarquico a partir de una tabla en la DB

Estas en el tema de Crear un arbol jerarquico a partir de una tabla en la DB en el foro de Java en Foros del Web. Buenas a todos/as, necesito construir un menu dinámico que lea los item de una base de datos. La estructura de la tabla es recursiva, de ...
  #1 (permalink)  
Antiguo 24/07/2009, 02:08
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 9 meses
Puntos: 0
Crear un arbol jerarquico a partir de una tabla en la DB

Buenas a todos/as, necesito construir un menu dinámico que lea los item de una base de datos. La estructura de la tabla es recursiva, de esta forma:

ID_ORGANO
NOMBRE
DESCRIPCION
ID_ORGANO_PADRE

y se vería así:

ORGANO 1
--- ORGANO 2
--- ORGANO 3
ORGANO 4
--- ORGANO 5
-------ORGANO 6
-----------ORGANO 7

Buscando por el foro, he encontrado lo mismo en PHP... en el post 146 del FAQ (No me permite poner el enlace), por favor, ¿alguien puede ponerlo?

Aunque estoy intendando convertirlo a jsp no lo consigo, ¿saben de alguna forma o algún ejemplo de código que explique como hacerlo en jsp?

Muchas gracias, estoy encontrando el foro muy util.
  #2 (permalink)  
Antiguo 03/08/2009, 00:44
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Crear un arbol jerarquico a partir de una tabla en la DB

He pensado en crear una lista de objetos con los datos ya ordenados de forma recursiva y mostarlos usando displayTag. ¿Que os parece?

SAludos!
  #3 (permalink)  
Antiguo 04/08/2009, 07:01
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Crear un arbol jerarquico a partir de una tabla en la DB

Ya di con la solución... uso Torque para la capa de persistencia.

List lista = new ArrayList() (variable global)

List CreaArbol(int idPadre) throws Exception {
List listaOr = null;
Criteria cri = new Criteria();
cri.add(OrganismosPeer.ID_ORGANO_PADRE,idPadre);
cri.addDescendingOrderByColumn(OrganismosPeer.NOMB RE);
listaOr = OrganismosPeer.doSelect(cri);

for(int i=0; i<=listaOr.size()-1; i++) {
Organismos or2 = (Organismos)listaOr.get(i);
lista.add(or2);
CreaArbol(or2.getIdOrgano());
}

return lista;
}

Retorna una lista ordenada de forma recursiva.

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.