Delphi中dxTreelist控件的使用

本文详细介绍了如何在Delphi中使用dxTreeList控件,包括数据库连接、动态列创建、图像列设置、数据填充、节点操作(增删改查)以及遍历节点的方法。通过示例代码展示了一个完整的操作流程,帮助开发者更好地理解和应用dxTreeList控件。
摘要由CSDN通过智能技术生成

    最近公司项目中用到dxTreelist控件,以前没怎么用过这个控件,该控件比TreeView功能更强大,要完全掌握还真不容易,下面是我个人做的一个Demo,对该控件进行增删改遍历操作,以便自己以后忘了使用方法随时可以查吧。

1.首先新建一个数据库。

     打开SQL Server2005,新建数据库TreeTest,新建表DeviceTab,表的字段设计如下:

      

 

2.新建Delphi应用程序

   选择File-New-Application新建应用程序,File-New-Data Module,新建一个数据库模块,添加TADOConnection和TImageList控件,设置ADOConnection的LoginPrompt为false,给ImageList控件添加7个图片,该数据模块的Create事件代码如下:

    procedure Tdm.DataModuleCreate(Sender: TObject);

        begin
          if not con1.Connected then
         begin
         //设置连接字符串
    con1.ConnectionString:='Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=TreeList;Data Source=ZH\SQLEXPRESS;';
          con1.Open; //打开数据库连接
         end;
        end;

  

   在窗体上放置dxTreeList控件和四个Button控件以及一个Timer控件设置Timer控件的Interval属性为100,各按钮相关事件及源码如下:

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, dxCntner, dxTL, dxTLClms,ADODB, Menus,
  cxLookAndFeelPainters, StdCtrls, cxButtons, ExtCtrls;

type
  TfrmTree = class(TForm)
    dxTreeList1: TdxTreeList;
    btnAddNode: TcxButton;
    btnDelNode: TcxButton;
    btnUpdate: TcxButton;
    btnbl: TcxButton;
    tmr1: TTimer;
    procedure btnblClick(Sender: TObject);
    procedure btnAddNodeClick(Sender: TObject);
    procedure btnDelNodeClick(Sender: TObject);
    procedure btnUpdateClick(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateColumn(tree:TdxTreeList;list:TStrings);
    procedure CreateImageColumn(tree:TdxTreeList;Image:TImageList);
    procedure FillTree(node:TdxTreeListNode;pid:Integer;con:TADOConnection);
    function  GetMaxId(con:TADOConnection):Integer;
    procedure DelTree(pid:Integer;con:TADOConnection);
    procedure UpdateTree(newname:string;id:Integer;con:TADOConnection);
    function  GetCount(tree:TdxTreeList):Integer;
  end;

var
  frmTree: TfrmTree;

implementation

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值