Delphi中的TreeView

以前总是循环展开,现在有这个属性,就简单多了
RzTreeView_DWDept.FullExpand;  这样就可以全部 展开了。
还有一个问题,设置节点选中
RzTreeView_DWDept.SetFocus;
if RzTreeView_DWDept.Selected = nil then
      RzTreeView_DWDept.Selected := RzTreeView_DWDept.Items.Item[0];
这个的重点是  RzTreeView_DWDept.SetFocus; 如果当前焦点没有在树上,你怎么设置都不起作用。


**************************************************************
.1.添加、删除、修改节点:
静态的方法可以在设计时通过Items的编辑器设置各节点的内容。
在添加和删除前必须保证有节点被选中(Treeview.Selected = nil)
用AddFirst, AddFirstChild, AddChild等先添加根节点,如Treeview.Items.AddFirst( nil, 'Root');
然后以此为基础,添加此项的子节点。


删除节点
Treeview.Selected.Delete


编辑节点内容
Treeview.Selected.EditText


注意:由于根节点没有父节点 (TTreeNode.Parent= nil)
此外,在大批量添加数据到Treeview中时最好使用
  TreeView.Items.BeginUpdate;
  添加节点
  TreeView.Items.EndUpdate
这样能加快显示速度。


2.在节点上添加图象
Treeview中几个与图象相关的属性:
  SelectedIndex:当节点被选中时在TimageList 中选什么样的图象
  OverlayIndex:选那副图象作为掩图(一幅图象透明地显示在另一幅图象的前面),比如一个节点不可用时加一副X图象在其前面。
  ImageIndex:在常态时选用的图的序号
  StateIndex: 在StateImages这个ImageList中对应的序号,-1时不显示图象
   比较典型的,象在文件管理器中的所显示的一样,Treeview控件在节点之前也可以显示图象。在Form中放置一ImageList控件,加入几个图 片,分别被Index为0,1,…在Treeview的Image属性项填入你所加入的ImageList的控件名称。TreeNode的 ImageIndex表示节点未被选中时(Selected=nil)的图片序号,SelectedIndex表示节点被选中时图片序号。


3.关于Level
Level的概念可以用下图表示:
Level0   Level1 Level2


4.排序
SortType决定什么时候进行排序;
TreeView.AlphaSort对节点进行排序,如果不能满足要求,你可以定义自己的CustomSort方法。


5.Drag&Drop操作,与标准的拖放操作使用方法一样


下面是我写的一个TREEVIEW小程序的代码   
  var       rootnode,subnode,personnode,matenode:ttreenode;   
              i,j,k:integer;   
      begin   
      rootnode:=tv1.items.add(nil,'公司');   
      qrymaster.Close;   
      qrymaster.sql.add('select   *   from   master');   
      qrymaster.Open;   
      qrymaster.First;   
      for   i:=0   to   qrymaster.RecordCount-1   do   
      begin   
                  subnode:=tv1.Items.Addchild(rootnode,qrymaster.FieldByName('company').AsString);   
              //原形:rootnode=tv1.items.add(nil,string);   
              //       rootnode.ImageIndex   :=0;   
              //       rootnode.stateIndex   =0;   
                    qrysub.Close;   
                    qrysub.SQL.clear;   
                    qrysub.SQL.Add('select   *   from   submaster   where   companyid=:dd');   
                    qrysub.ParamByName('dd').asinteger:=qrymaster.FieldByName('companyid').asinteger;   
                    qrysub.Open;   
                    qrysub.First;   
                      for   j:=0   to   qrysub.RecordCount-1   do   
                      begin   
                            personnode:=tv1.Items.AddChild(subnode,qrysub.FieldByName('personname').AsString);   
                            //   subnode.ImageIndex   :=-1;   
                            //   subnode.StateIndex   :=-1;   
                            qrymate.close;   
                            qrymate.sql.clear;   
                            qrymate.sql.add('select   *   from   comunication   where   personid=:personid');   
                            qrymate.parambyname('personid').asinteger:=qrysub.fieldbyname('personid').asinteger;   
                            qrymate.open;   
    
                            for   k:=0   to   qrymate.recordcount-1   do   
                              begin   
                              matenode:=tv1.items.addchild(personnode,qrymate.fieldbyname('name').asstring);   
                              qrymate.next;   
                              end;   
                              qrysub.Next;   
                      end;   
    
              qrymaster.Next;   
          end;   
        end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi XE 10是一款流行的集成开发环境(IDE),用于创建Windows应用程序。其一个强大的功能是TreeView控件,用于在应用程序显示层级结构数据。 TreeView控件可以用来创建树形结构的用户界面。它自带了一些功能,比如展开和折叠节点,选节点以及检索节点等。通过TreeView控件,可以轻松地在应用程序呈现以父节点和子节点为基础的树形数据。 在Delphi XE 10使用TreeView控件非常简单。首先,你需要在窗体上放置一个TreeView控件。然后,你可以通过编写代码来动态地添加节点和设置其属性。 要添加根节点,你可以使用TreeView的Items属性。通过调用Items.Add方法,可以添加一个新的节点到TreeView。你还可以通过设置节点的文本、图像和其他属性来个性化节点的外观。 如果你想添加子节点,可以通过访问父节点的Child属性,并使用Items.Add方法来添加子节点。这样可以创建出树形结构,并且可以通过控制节点的层级关系来构建完整的树。 另一个有用的功能是事件处理。TreeView控件提供了一系列事件,比如点击节点、展开和折叠节点等。通过处理这些事件,可以实现与树形结构的交互,比如展开子节点以及处理选的节点。 总之,Delphi XE 10的TreeView控件是一个强大的工具,用于在应用程序展示层级数据。通过简单的代码编写与事件处理,你可以创建出功能丰富的树形用户界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值