Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2006
lucero_chivas lucero_chivas is offline
Miembro
 
Registrado: ene 2006
Ubicación: León, Guanajuato
Posts: 48
Poder: 0
lucero_chivas Va por buen camino
Unhappy Limpiar un TreeView

Hola, buenas tardes, espero me puedan dar alguna idea de como solucionar mi problema, lo que pasa es que estoy llenando un TreeView con información de tablas hechas en Oracle 7.... el problema es que voy haciendo inserciones, modificaciones,etc a estas tablas, y quiero q el TreeView se me actualice con la información, pero no puedo lograr esto, sino hasta q cierro mi aplicación y la ejecuto de nuevo es cuando me aparecen los cambios realizados... espero alguien me pueda ayudar
__________________
...... No digas nada si lo q vas a decir no es más bello q el silencio .....
Responder Con Cita
  #2  
Antiguo 22-11-2006
lucero_chivas lucero_chivas is offline
Miembro
 
Registrado: ene 2006
Ubicación: León, Guanajuato
Posts: 48
Poder: 0
lucero_chivas Va por buen camino
Red face

Creo q en mi anterior mensaje no fui muy explicita.... lo plantearé de la siguiente manera:

Tengo el código siguiente:
Código:
void TForm1::Llenar()
{
   int i=0,cont=0;
 
   DM1->T1->Open();
   DM1->T1->AutoRefresh;
   DM1->T1->First();
   if (DM1->T1->Eof)
      ShowMessage("No hay perspectivas");
   else
     {
       TTreeNode *Perspectiva;
       TreeView1->Items->Add(NULL,"Perspectivas");
       Perspectiva=TreeView1->Items->Item[i];
       while (!DM1->T1->Eof)
        {
          cont++;
          i=cont;
          AnsiString p= DM1->T1->FieldByName("pe02_desc")->AsString;
          TreeView1->Items->AddChild(Perspectiva, p);
          DM1->T2->Open();
          DM1->T2->First();
          while(!DM1->T2->Eof)
          {
            //cont++;
            if (DM1->T1->FieldByName("pe02_id")->AsInteger == DM1->T2->FieldByName("ob02_persp")->AsInteger)
             {
               cont++;
               TTreeNode *Objetivos;
               Objetivos=TreeView1->Items->Item[i];
               TreeView1->Items->AddChild(Objetivos, DM1->T2->FieldByName("ob02_desc")->AsString);
               DM1->T3->Open();
               DM1->T3->First();
               while (!DM1->T3->Eof)
                 {
                   if (DM1->T2->FieldByName("ob02_id")->AsInteger==DM1->T3->FieldByName("gi02_objetivo")->AsInteger)
                     {
                       cont++;
                       TTreeNode *Grupos;
                       Grupos=TreeView1->Items->Item[i+1];
                       TreeView1->Items->AddChild(Grupos,DM1->T3->FieldByName("gi02_desc")->AsString);
                       DM1->T4->Open();
                       DM1->T4->First();
                       while (!DM1->T4->Eof)
                       {
                         if (DM1->T3->FieldByName("gi02_id")->AsInteger== DM1->T4->FieldByName("in02_grupo")->AsInteger)
                           {
                             cont++;
                             TTreeNode *Indicadores;
                             Indicadores=TreeView1->Items->Item[i+2];
                             TreeView1->Items->AddChild(Indicadores,DM1->T4->FieldByName("in02_desc")->AsString);
                             DM1->T5->Open();
                             DM1->T5->First();
                             while (!DM1->T5->Eof)
                               {
                                 if (DM1->T4->FieldByName("in02_id")->AsInteger == DM1->T5->FieldByName("ca02_indicador")->AsInteger)
                                    {
                                      cont++;
                                      TTreeNode *Periodo;
                                      Periodo=TreeView1->Items->Item[i+3];
                                      TreeView1->Items->AddChild(Periodo,DM1->T5->FieldByName("ca02_desc")->AsString);
                                    }
                                  DM1->T5->Next();
                               }
                              DM1->T5->Close();
                           }
                           DM1->T4->Next();
                       }
                     }
                   DM1->T3->Next();
                  }
                 DM1->T3->Close();
              }
             DM1->T2->Next();
          }
          DM1->T2->Close();
          DM1->T1->Next();
        }
     }
}
Entonces quiero mandar llamar esta función cada que se muestre la forma para actualizar los datos que haya en el TreeView, pero lo que pasa es q me duplica estos datos, en vez de reescribirmelos, alguien me pudiera ayudar??
__________________
...... No digas nada si lo q vas a decir no es más bello q el silencio .....
Responder Con Cita
  #3  
Antiguo 22-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Digo yo que acaso bastaría con inicializar el "TreeView" cuando vayas a actualizar sus datos... es decir, borrar todos sus Nodos y acto seguido llenar el "TreeView" con los "nuevos" Nodos. Es algo muy sencillo. Se trata de utilizar el método "Clear" de la propiedad "Items" del "TreeView". Algo así en Delphi:

Código Delphi [-]
TreeView1.Items.Clear;

Y en C++ Builder... prácticamente igual, o sea:

Código:
TreeView1->Items->Clear;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



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
Copiar un treeview a otro treeview mierda OOP 0 26-07-2006 12:29:17
LImpiar un RadioButton CamiloU OOP 5 24-04-2006 19:11:26
¿ Limpiar un campo ? !3d1@n Conexión con bases de datos 2 11-03-2005 12:19:00
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 Varios 2 08-04-2004 22:47:30
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 OOP 1 08-04-2004 22:42:44


La franja horaria es GMT +2. Ahora son las 01:25:42.


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