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

  • 相关阅读:
    ES数据库重建索引——Reindex(数据迁移)
    ES数据库搜索
    Elasticsearch及相关插件的安装
    初识ES数据库
    Oracle数据库(二)
    Oracle数据库(一)
    DBUtils和连接池
    动态页面技术(EL/JSTL)
    Istio安装
    idea正则替换下划线为驼峰
  • 原文地址:https://www.cnblogs.com/mingdep/p/2217903.html
Copyright © 2011-2022 走看看