我在一个form上加了一个treeview控件,有10个班,又加了一个DBGrid控件,我想在点击treeview控件上的一个结点时在dbgrid中出现一个表中的数据,比如点击 01班,在dbgrid中出现这个班学生的信息,怎么编程哇!

解决方案 »

  1.   

    刚好这几天我也在学着弄TTreeView,呵呵
    每个Node都有个Data属性,是个空指针类型的,你把他等于你的记录指针,然后就可以通过他调用其中的数据了
      

  2.   


    PMyData=^TMyData;
    TMyData=Record
    ID:Integer;
    Name:String;
    Sex:String;
    end;
    procedure TForm1.TreeView1Change(Sender:TObject;Node:TTreeNode);
    begin
      if Node.Data <> Nil then
      begin
        Edit1.Text := IntToStr(TMyData(Node.Data)^.ID);
        Edit2.Text := TMyData(Node.Data)^.Name;
        Edit3.Text := TMyData(Node.Data)^.Sex;
      end;
    end;
      

  3.   

    对了,dbgrid我没用过,不过我想原理应该是一样的,反正就是利用Data属性啦
      

  4.   

    烦躁,不能修改自己的帖子,
    Edit2.Text := TMyData(Node.Data)^.Name;
    错了,应该是
    Edit2.Text := PMyData(Node.Data)^.Name;
      

  5.   


    TreeView1DblClicK事件下加
    query1.sqltext := 'Select * from table where FIELD = '''+Trim(TreeView1.Selected.Text)+'''';