请教以下功能如何实现:
窗体左边为一树型菜单,菜单有两级:部门,员工。
窗体右边为一DBGRID控件,当在树型菜单中点击某部门时,DBGRID控件中显示该部门信息,点击某员工时,显示该员工信息。
部门信息和员工信息为两个不同的数据表。这个问题对大家来说可能很简单,不过我很菜,还请大家仔细解答。

解决方案 »

  1.   

    用sql语句,
    判断条件为:字段名=treeview。.Selected.Text
      

  2.   

    treeview控件我个人认为缺陷在没有一个关键的key,如果将节点的text作为key,那么必须人为的保证text(或text中的部分)不能重复,这样才能确定树上所需的节点。
    上面的解决方法可以if treeview.selected=nil then
      exit;
    sSql:='select * from table1 where key1='+treeview.selected.text;
    with query do
    begin
      close;
      sql.clear;
      sql.add(sSql);
      try
       Open();
      except
       exit;
      end;
    end;
      

  3.   

    问一个更白痴的问题,TREEVIEW中的值如何和数据库关联起来。
      

  4.   

    没法关联,除非用第三方控件,可以去www.playicq.com 或www.51delphi.com看看
      

  5.   

    那TREEVIEW中的值怎麽动态更新呢,难道不能更新
      

  6.   

    TREEVIEW中的值如何和数据库关联起来:
      var
        TreeNode : TTreeNode;
      Query1.Sql.Add('select 部门名称 from 部门表');
      Query1.Open;
      while not Query1.EOF do
      begin
        TreeNode := TreeView1.Items.Add(nil,Query1.FieldByName('部门名称').AsString);
        Query2.Add('select 员工姓名 from 员工表');
        Query2.Open;
        while not Query2.EOF do
        begin
          TreeView1.Items.Add(TreeNode,Query2.FieldByName('员工姓名').AsString);
        end; 
      end;
      
    兄弟,给分!
      

  7.   

    ttreenode在哪里声明,我试了几次都不行
      

  8.   

    TO:zl1215(水手):
    procedure InitTree;
    var
      TreeNode : TTreeNode;
    begin
      Query1.Sql.Add('select 部门名称 from 部门表');
      Query1.Open;
      while not Query1.EOF do
      begin
        TreeNode := TreeView1.Items.Add(nil,Query1.FieldByName('部门名称').AsString);
        Query2.Add('select 员工姓名 from 员工表');
        Query2.Open;
        while not Query2.EOF do
        begin
          TreeView1.Items.Add(TreeNode,Query2.FieldByName('员工姓名').AsString);
        end; 
      end;
    end;