zoukankan      html  css  js  c++  java
  • TreeView递归增加

    上面是数据表。


    painfo=^Tainfo;
    Tainfo=record
    bh,cname,lastbh:string[100];
    end;

    procedure TForm1.SetTreeView(atreenode: TTreeNode; aIndex: string); //递归函数
    var
    adoquery: TAdoquery;
    temp: TTreeNode;
    pif: PAInfo;
    begin
    adoquery := TAdoquery.Create(nil);
    try
        with adoquery do
        begin
          Connection := self.ADOConnection1;
          close;
          sql.Clear;
          sql.Add('select * from list1 where lastbh = '''+aIndex+''' ');
          open;
          while not eof do
          begin
            new(pif);
            pif^.bh := adoquery.FieldByName('bh').AsString;
            pif^.cname := adoquery.FieldByName('cname').AsString;
            pif^.lastbh := adoquery.FieldByName('lastbh').AsString;
            temp := treeview1.Items.AddChildObject(atreenode, pif^.cname, pif);
            SetTreeView(temp, adoquery.FieldByName('bh').AsString);
            next;
          end;
        end;
    finally
        adoquery.Free;
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);   //显示按钮,可以考虑放在开始事件
    begin
    ClearTreeView;
    SetTreeView(nil,'0');
    treeview1.FullExpand;
    end;

    procedure TForm1.TreeView1Click(Sender: TObject); //点击到哪个字段,内容就显示在相应EDIT上
    begin
    if assigned(treeview1.Selected.Data) then
    begin
        edit1.Text := PAInfo(treeview1.Selected.Data)^.bh;
        edit2.Text := PAInfo(treeview1.Selected.Data)^.cname;
        edit3.Text := PAInfo(treeview1.Selected.Data)^.lastbh;
    end;
    end;

    procedure tform1.cleartreeview;
    var
    i:integer;
    pif:painfo;
    begin
    for i:=0 to treeview1.Items.Count-1 do
    begin
          if assigned(treeview1.Items.Item[i]) then
          begin
            pif:=treeview1.Items.Item[i].Data;
            dispose(pif);
          end;
    end;
    treeview1.Items.Clear;
    end;

    procedure tform1.cleartreeview;
    var
    i:integer;
    pif:painfo;
    begin
    for i:=0 to treeview1.Items.Count-1 do
    begin
          if assigned(treeview1.Items.Item[i]) then
          begin
            pif:=treeview1.Items.Item[i].Data;
            dispose(pif);
          end;
    end;
    treeview1.Items.Clear;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin

    adoconnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                                   ExtractFilePath(Application.ExeName)+'test.mdb;Persist Security Info=False';
    end;

    链接:http://hi.baidu.com/sleeper312/blog/item/fd8e97d28d2935083af3cf3f.html

  • 相关阅读:
    修改element ui默认样式
    MyUI是美亚柏科旗下新德汇出品的Web前端一站式项目工程框架。
    细谈 axios和ajax区别
    Window MySQL远程连接不上的解决
    为什么要前后端分离?各有什么优缺点?
    原生js
    node.js安装及环境配置之Windows篇
    IDEA 导入若依管理系统
     Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。
    获取git仓库时更新类型update type 的选择
  • 原文地址:https://www.cnblogs.com/mingdep/p/2217903.html
Copyright © 2011-2022 走看看