Hola.
¡ Donde tengo la cabeza ! olvidé el código del ejemplo
Código PHP:
...
void __fastcall TForm1::LoadTreeView(void)
{
TTreeNode *nd1, *nd2;
AnsiString par("");
AnsiString com("");
while (!IBQuery1->Eof)
{
if (par != IBQuery1->FieldByName("PARTIDO")->AsString)
nd1 = TreeView1->Items->Add(NULL, IBQuery1->FieldByName("PARTIDO")->AsString);
if (com != IBQuery1->FieldByName("COMARCA")->AsString)
nd2 = TreeView1->Items->AddChild(nd1, IBQuery1->FieldByName("COMARCA")->AsString);
TreeView1->Items->AddChild(nd2, IBQuery1->FieldByName("MUNICIPIO")->AsString);
com = IBQuery1->FieldByName("COMARCA")->AsString;
par = IBQuery1->FieldByName("PARTIDO")->AsString;
IBQuery1->Next();
}
TreeView1->FullExpand();
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
IBQuery1->Close();
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("SELECT DISTINCT PARTIDO, COMARCA, MUNICIPIO, CODIGO");
IBQuery1->SQL->Add("FROM Dl01 ORDER BY PARTIDO, COMARCA, MUNICIPIO, CODIGO");
IBQuery1->Open();
LoadTreeView();
}
(Omití la condición de la cláusula
WHERE de la sentencia
SQL para simplificar el ejemplo)
Saludos