FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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 ..... |
#2
|
|||
|
|||
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(); } } }
__________________
...... No digas nada si lo q vas a decir no es más bello q el silencio ..... |
#3
|
||||
|
||||
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:
Y en C++ Builder... prácticamente igual, o sea: Código:
TreeView1->Items->Clear; |
|
|
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 |
|