Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 21-05-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
mRoman Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Creo que es más sencillo...
Con este código puedes recorrer el treeview y almacenar en la tabla ls items:
Código Delphi [-]
var
  i:integer;
  tv:TTreeNode;
begin
  tblOpcMenu.Open;                                      // Abrir la tabla
  for i := 0 to (TreeView1.Items.Count -1) do begin     // recorro el treeview
    tv := TreeView1.Items[i];                           // accedo al nodo
    tblOpcMenu.Append;
    // Si es un nodo de primer nivel (-1), si no, me apunto el padre
    tblOpcMenu.FieldByName('NODO_PADRE').AsString := ifThen(Assigned(tv.Parent), tv.Parent.Index.ToString, '-1');
    tblOpcMenu.FieldByName('NODO').AsInteger := tv.Index;
    tblOpcMenu.FieldByName('OPC_DESCRIPCION').AsString := tv.Text;
    tblOpcMenu.FieldByName('OPC_TAG').AsInteger := tv.AbsoluteIndex;

    tblOpcMenu.Post;
  end;
  tblOpcMenu.Close;


Y con este otro recuperrarlos y añadirlos a un Treeview vacío:
Código Delphi [-]
var
  i, iParent:integer;
  tv, tvParent:TTreeNode;
begin
  tblOpcMenu.Open;                         // Abrir la tabla
  while not tblOpcMenu.Eof do begin        // Recorrer los registros hasta el final
    iParent := tblOpcMenu.FieldByName('NODO_PADRE').AsInteger;     // buscar el nodo padre (los de primer nivel = -1)
    if (iParent = -1) then begin           // Los de primer nivel...
      tv := TreeView1.Items.Add(nil, tblOpcMenu.FieldByName('OPC_DESCRIPCION').AsString);   // Se añaden
      tvParent := tv;                      // es un nodo padre
    end
    else                                   // Los que no son de primer nivel, loos añado al padre
      tv := TreeView1.Items.AddChild(tvParent, tblOpcMenu.FieldByName('OPC_DESCRIPCION').AsString);
    tblOpcMenu.Next;
  end;
  tblOpcMenu.Close;
Gracias Neftali por contestar. Lo aplico y haré mis comentarios al respecto. Todo esto es porq estoy desarrollando el módulo de seguridad del sistema, crear usuarios, roles y configuraciones de las opciones del menu principal del sistema...que es el tema q nos ocupa.

Nuevamente gracias y estamos pendientes...

Saludos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Llenar un Combobox con un campo de una tabla MySql. Desde un qry volcar los datos. juanpy PHP 9 12-10-2012 04:46:06
Llenar un qListBox desde una tabla MySql. RADPHP(Delphi for Php) juanpy PHP 2 07-03-2012 20:52:32
LLenar un TreeView en ejecucion con datos de una tabla canelita Varios 0 18-01-2008 22:34:03
Error al llenar tabla desde archivo txt bohemioloco Conexión con bases de datos 9 13-11-2006 13:49:54
Llenar menú desde Tabla... vladimirbp Varios 2 10-11-2006 18:26:53


La franja horaria es GMT +2. Ahora son las 23:48:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi