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??