Tema: TreeView
Ver Mensaje Individual
  #23  
Antiguo 08-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Pues tendrás que explicar más a fondo la tabla que has creado, su clave primaria y los índices si es que los hay.

Yo no me he topado con ese error de invalid index, no sé a que se refiere.

Por cierto, cuando añadas código delphi, hazlo entre etiquetas delphi, de lo contrario ni lo leeremos.


[delphi]
tu codigo delphi aqui
[/delphi]

Al enviar el mensaje verás el códiigo formateado.

El tema de ordenamiento, podrías usar rangos, me explico:

Si das un valor numérico, el sql te ordenará así:
Código:
Nodo 1 orden 10
SubNodo 2 orden 10
SubNodo 1 orden 20
Nodo 2 orden 20
y ya se están mezclando los padres con los hijos. No hay forma de diferenciarlo.

Supongamos que un nivel puede tener 1000 subnodos, pues al tiempo de dar pesos lo hacemos así:
Código:
Nodo 1 orden 1000
SubNodo 2 orden 1001
SubNodo 3 orden 1002
Nodo 2 orden 2000
SubNodo 1 orden 2001
Así siempre saldrán ordenados como quieres.

Al tiempo de insertar un Nodo, haces la consulta para saber qué peso le corresponde:
Código SQL [-]
select Max(orden)+1000 from tabla where padre = 0

Y al insertar un subnodo lo mismo:
Código SQL [-]
select Max(orden)+1 from tabla where padre = 23 <<<<<<<<<< Nodo padre al que pertenecerá

Puesto que no se repetira el campo orden, podrías crear un índice único y ascendente por dicho campo.

(es lo primero que se me ha venido a la cabeza, igual alguien aporta una mejor solución.)

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 08-03-2008 a las 10:31:57.
Responder Con Cita