如何将treeview中选中的节点下所有的子节点过滤出来,并在dbgrid中显示,
procedure TfrmGraphDocManage.trvMainChanging(Sender: TObject; Node: TTreeNode;
  var AllowChange: Boolean);
var
  begin
  inherited;
    case Node.Level of
    0: begin
         TabSheet1.Caption := '管理部门';
         actAdd.Enabled := True;
         Qry1.Filter := ????;
       end;
end;

解决方案 »

  1.   

    你 treeview分节点 字段本身就有一个父子关系吧,你只要过滤下父节点就可以了
      

  2.   

        case Node.Level of 
        0: begin 
            TabSheet1.Caption := '管理部门'; 
            actAdd.Enabled := True; 
            Qry1.Filter := ????; 
          end; -----------------------------------
    这个肯定不行,不知道你树节点数据是怎么保存的,如果节点绑定的是记录类型则需要转化,
    如果数据是保存在节点的Caption上就简单了,则代码修改为:
        case Node.Level of 
        0: begin 
            TabSheet1.Caption := '管理部门'; 
            actAdd.Enabled := True; 
            Qry1.Filtered := False;
            Qry1.Filter := '上级部门='''+Node.Caption+'''';
            Qry1.Filtered := True;
          end; 估计还有更多的信息你没有说到,希望你能说的全面一些;
    你可以加入QQ高级群:9642802,说的清楚一下。