问题描述:
(1)用CBC6.0做了一个关于课件导航知识点的模块,主要功能是:用treeview控件实现点击后右边的dbmemo实现内容。
(2)新建了acess数据库四个(cai.mdb,其中包括zhang、jie、zhishidian和mulu四个子表。
代码如下:
void __fastcall TForm33::FormCreate(TObject *Sender)
{
 TreeView1->Items->Clear();
  DataSource1->DataSet=Query1;
  Query1->DatabaseName="mydatabase";
  Query1->Active=false;
  Query1->SQL->Clear();
  Query1->SQL->Add("select * from zhang");
  Query1->Open();
  Query1->First();
  while(!Query1->Eof)
  {
  AnsiString s=Query1->Fields->Fields[1]->AsString;
  TreeView1->Items->Add(NULL,s);
  Query1->Next();
  }

  AnsiString sql1="select jie.节,zhang.章 from jie,zhang where jie.章编号=zhang.章编号";
  Query1->Active=false;
  Query1->SQL->Clear();
  Query1->SQL->Add(sql1);
  Query1->Active=true;
  while(!Query1->Eof)
  {
  for(int i=0;i<TreeView1->Items->Count;i++)
  if(Query1->Fields->Fields[1]->AsString==TreeView1->Items->Item[i]->Text)

  {
  TTreeNode *pNode1;
  pNode1=TreeView1->Items->Item[i];
  TreeView1->Items->AddChild(pNode1,Query1->Fields->Fields[0]->Value);
  }
  Query1->Next();


  }


}
以上代码能够正确实现,效果如下:

[img=http://i3.6.cn/cvbnm/d0/5c/3f/6b7a21ca4192396ddb02306fce12f6ef.jpg[/img]
//下面代码无法正确实现,不太懂。。。。。

void __fastcall TForm33::TreeView1Change(TObject *Sender, TTreeNode *Node)
{
AnsiString sql4="select * from xiangmu";
Query1->Active=false;
Query1->SQL->Clear();
 Query1->SQL->Add(sql4);
  Query1->Active=true;
  for(int i=0;i<TreeView1->Items->Count;i++)
  {
  if(TreeView1->Items->Item[i]->Selected)
  {
  TLocateOptions Opts;
  Opts<<loPartialKey;
  if(Query1->Locate("项目",TreeView1->Items->Item[i]->Text,Opts))
  DBMemo1->Text= Query1->Fields->Fields[3]->Value;
  return;

  }
  }

}
请高人解释,如何实现右边显示,。。。指点迷津。。。。

[img]http://i3.6.cn/cvbnm/d0/5c/3f/6b7a21ca4192396ddb02306fce12f6ef.jpg[/img]