从数据表中动态查询出了三个值:山东、河南、山西想把这三项作为三个目录节点直接显示在treeview1中,选中时提示相应该的内容(如选中山东,showmessage('山东')).哪位能帮我写一下呀,多谢。

解决方案 »

  1.   

    作为目录节点显示  w_zjm.TreeView1.Items.Clear;
      t:=w_zjm.TreeView1.Items.Add(nil,'省市列表');
      data.ADOQuery1.Close;
      data.ADOQuery1.Connection:=data.ADOConnection2;
      data.ADOQuery1.SQL.Clear;
      data.ADOQuery1.SQL.Add('select * from table1');
      data.ADOQuery1.Open;
      data.ADOQuery1.First;
      while not data.ADOQuery1.Eof do
      begin
        s:=data.ADOQuery1.FieldByName('mc').AsString;
        t1:=w_zjm.TreeView1.Items.AddChild(t,s);
        data.ADOQuery1.Next;
      end;
      

  2.   

    选中提示procedure TForm1.TreeView1Click(Sender: TObject);
    var
      i:Integer;
      s:string;
    begin
      i:=self.TreeView1.SelectionCount;
      if i=0 then
        Exit;
      s:=self.TreeView1.Selected.Text;
      ShowMessage(s);
    end;
      

  3.   

    选中显示,用这段代码可能更符合你的要求procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      tn:TTreeNode;
      s:string;
    begin
      tn:=self.TreeView1.GetNodeAt(x,y);
      if tn=nil then
        Exit;
      s:=tn.Text;
      ShowMessage(s);
    end;
      

  4.   

    感谢楼上几位,还想实现以下效果:1、根节点默认是展开的
    2、根节点跟子节点用不一样的图标我已经加了imageslist控件,现在目录树里根节点和子节点图标是一样的。
      

  5.   

    1.self.TreeView1.Items[0].Expanded:=True;
    2.设置每个节点的ImageIndex的值