要用table 做一个treeview
  现在有个表(st) 
    编号  杂志类    期号  是否阅读
    1     fd       0201   false
     2    fd        0305   false
     3    re        0309   true
 ....
  
出来结果:
  -未阅读
     -fd 
        -fd0201
        -fd0305
  -已阅读
     -re 
        -re0309 现在我不知道怎么过滤,请求大虾们帮助啊
        

解决方案 »

  1.   

    suiTreeView1->Items->Clear();
    root=suiTreeView1->Items->AddChild(NULL,未阅读);
    Query1->Close();
    Query1->SQL->Clear();
    Query1->SQL->Add("select 杂志类   from st where 是否阅读 =false");
    Query1->Open();
    Query1->First();
    while(!Query1->Eof)
    {
     node=suiTreeView1->Items->AddChild(root,Query1->FieldByName("杂志类 ")->AsString );
     Query2->Close();
    Query2->SQL->Clear();
    Query2->SQL->Add("select 杂志类 , 期号 from st where 是否阅读 =false and 杂志类=Query1->FieldByName("杂志类 ")->AsString ");
    Query2->Open();
    Query2->First();
    while(!Query2->Eof)
    {
     suiTreeView1->Items->AddChild(node,Query2->FieldByName("杂志类 ")->AsString +Query2->FieldByName("期号 ")->AsString);
     
     Query2->Next();
    }
     Query1->Next();
    }
      

  2.   

    suiTreeView1->Items->Clear();
    root=suiTreeView1->Items->AddChild(NULL,未阅读);
    Query1->Close();
    Query1->SQL->Clear();
    Query1->SQL->Add("select 杂志类   from st where 是否阅读 =false");
    Query1->Open();
    Query1->First();
    while(!Query1->Eof)
    {
     node=suiTreeView1->Items->AddChild(root,Query1->FieldByName("杂志类 ")->AsString );
     Query2->Close();
    Query2->SQL->Clear();
    Query2->SQL->Add("select 杂志类 , 期号 from st where 是否阅读 =false and 杂志类=Query1->FieldByName("杂志类 ")->AsString ");
    Query2->Open();
    Query2->First();
    while(!Query2->Eof)
    {
     suiTreeView1->Items->AddChild(node,Query2->FieldByName("杂志类 ")->AsString +Query2->FieldByName("期号 ")->AsString);
     
     Query2->Next();
    }
     Query1->Next();
    }
    root=suiTreeView1->Items->AddChild(NULL,已阅读);
    Query1->Close();
    Query1->SQL->Clear();
    Query1->SQL->Add("select 杂志类   from st where 是否阅读 =true");
    Query1->Open();
    Query1->First();
    while(!Query1->Eof)
    {
     node=suiTreeView1->Items->AddChild(root,Query1->FieldByName("杂志类 ")->AsString );
     Query2->Close();
    Query2->SQL->Clear();
    Query2->SQL->Add("select 杂志类 , 期号 from st where 是否阅读 =true and 杂志类=Query1->FieldByName("杂志类 ")->AsString ");
    Query2->Open();
    Query2->First();
    while(!Query2->Eof)
    {
     suiTreeView1->Items->AddChild(node,Query2->FieldByName("杂志类 ")->AsString +Query2->FieldByName("期号 ")->AsString);
     
     Query2->Next();
    }
     Query1->Next();
    }