📄 frame_companylist.pas
字号:
unit frame_CompanyList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TFrame6 = class(TFrame)
TreeView1: TTreeView;
procedure FrameResize(Sender: TObject);
procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean); //把单位信息
procedure TreeView1Click(Sender: TObject);
procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses data_module,unit_global;
{$R *.dfm}
procedure TFrame6.FrameResize(Sender: TObject);
var
//TreeNode,ParentNode,ChildNode:ttreenode;
MyRecPtr: PMyRec;
i,j:integer;
maxlevel:integer;
nodeindex:integer;
basenode:ttreenode;
begin
basenode:=treeview1.Items.Add(nil,'四川省');
new(MyRecPtr);
//MyRecPtr^.host:=' ';
MyRecPtr^.id:=0;
MyRecPtr^.index:='0';
MyRecPtr^.boarder_host:='0';
basenode.Data:=MyRecPtr;
basenode.HasChildren:=true;
{ with dm.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from boarder where boarder_level=1 order by gradation');
open;
first;
while not eof do
begin
TreeNode:=treeview1.Items.AddChild(basenode,fieldbyname('boarder_name').AsString);
new(MyRecPtr);
MyRecPtr^.host:=fieldbyname('host').AsString;
MyRecPtr^.id:=fieldbyname('boarder_id').AsInteger;
MyRecPtr^.index:=fieldbyname('gradation').AsString;
MyRecPtr^.boarder_host:=fieldbyname('boarder_host').AsString;
treenode.Data:=myrecptr;
treeview1.Items.AddChild(treenode,'');
next;
end;
end;}
end;
procedure TFrame6.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
var
childnode:ttreenode;
nodelevel,nextlevel:integer;
parentnode_id:integer;
MyRecPtr: PMyRec;
begin
node.DeleteChildren;
//if node.getFirstChild<>nil then //删除假节点
begin
{childnode:=node.getFirstChild;
childnode.Delete;
nodelevel:=node.Level;
nextlevel:=nodelevel+1;
//nextlevel:=nodelevel+2;
parentnode_id:=PMyRec(node.Data)^.id;
if PMyRec(node.Data)^.dm<>'' then
exit;}
with dm.ADOQuery1 do
begin
close;
sql.Clear;
//sql.Add('select * from boarder where boarder_level='+inttostr(nextlevel)+' and host='+quotedstr(PMyRec(node.Data)^.host+inttostr(parentnode_id)+','));//'+inttostr(parentnode_id)+' like '+quotedstr('%'+PMyRec(node.Data)^.host+'%'));
sql.Add('select * from boarder where boarder_host='+PMyRec(node.Data)^.boarder_host+' order by gradation');
//showmessage('select * from boarder where boarder_level='+inttostr(nextlevel)+' and host='+quotedstr(PMyRec(node.Data)^.host+inttostr(parentnode_id)+','));
open;
if not eof then //在boarder表中仍然有值
begin
first;
while not eof do
begin
childnode:=treeview1.Items.Addchild(node,fieldbyname('boarder_name').AsString);
new(MyRecPtr);
//showmessage(inttostr(recordcount));
MyRecPtr^.host:=fieldbyname('host').AsString;
MyRecPtr^.id:=fieldbyname('boarder_id').AsInteger;
Systemcode:=fieldbyname('boarder_id').AsString;
MyRecPtr^.index:=fieldbyname('gradation').AsString; //.AsInteger;
// myrecptr^.boarder_host:=fieldbyname('boarder_host').AsString;
myrecptr^.boarder_host:=fieldbyname('boarder_id').AsString;
childnode.Data:=myrecptr;
childnode.HasChildren:=true;
//treeview1.Items.AddChild(childnode,'');
next;
end;
end
else //在boarder表中已经无值
begin
close;
sql.clear;
sql.Add('select * from b01 where boarder_id='+inttostr(PMyRec(node.Data)^.id)+' order by gradation');
open;
if not eof then
begin
first;
while not eof do
begin
if pos(','+user_group_level+',',fieldbyname('user_group_id').AsString)<>0 then
begin
childnode:=treeview1.Items.Addchild(node,fieldbyname('dept').AsString);
new(MyRecPtr);
MyRecPtr^.host:=fieldbyname('host').AsString;
MyRecPtr^.id:=fieldbyname('deptno').AsInteger;
MyRecPtr^.index:=fieldbyname('gradation').AsString;
MyRecPtr^.dm:=fieldbyname('dm').AsString;
myrecptr^.user_group_id:=fieldbyname('user_group_id').AsString; //20060418
childnode.Data:=myrecptr;
end;
//treeview1.Items.AddChild(childnode,'');
next;
end;
end;
end;
end;
end;
end;
procedure TFrame6.TreeView1Click(Sender: TObject);
var
i :integer;
sqlstr:string;
begin
end;
procedure TFrame6.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
newnode:ttreenode;
begin
if button=mbRight then
newnode:=treeview1.GetNodeAt(x,y);
newnode.Selected:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -