Delphi:动态增加、修改、删除树形结构的程序
来源:优易学  2011-8-21 18:34:55   【优易学:中国教育考试门户网】   资料下载   IT书店

  procedure LoadTree(treeDB:TDBDataSet);//初始化树
  procedure UpdateTree(curNode:TTreenode; nodeTxt:string; state:string);//更新树
  function GetNodeLevel(sFormat,sCode:string):integer; //获得节点层数
  function GetNodeItem(sCode:string):integer;//获得item
  { Public declarations }
  end;
  const
  CTreeCodeFormat=\'122222\';
  cTreeMaxLevel=6;
  CTreeRootTXT=\'所有图书\';
  var
  tsgzlfrom: Ttsgzlfrom;
  _err:integer;
  curUser:string[10];
  mystate:string;
  gNodeId:string;
  gNodelevel:integer;
  gNode:TtreeNode;
  mynode:array[0..6] of TTreenode;
  i,Already,CurMode:integer;
  currow:integer;
  iniFile:string;
  HasSub:String;
  level:Integer;
  implementation
  uses bgNewunit;
  {$R *.DFM}
  procedure TtsgzlFrom.LoadTree(treeDB:TDBDataSet);//初始化树
  var curID,nodeTxt:string;
  level,num:integer;
  begin
  //初始化变量
  Screen.Cursor:=crHourGlass;
  tree.Enabled:=True;
  tree.Items.Clear;
  level:=1 ;
  num:=1;
  tree.items.clear;
  //设置根节点
  mynode[level]:=Tree.items.add(Tree.Topitem,cTreeRootTxt);
  mynode[level].ImageIndex:=0;
  mynode[level].SelectedIndex:=1;
  //遍历数据表,利用编码字段记录排序规律,依次添加树节点
  with TreeDb do
  begin
  try
  if not Active then open;
  first;
  while not Eof do
  begin
  curID:=trim(FieldByName(\'tsglb\').AsString);
  nodeTxt:=curID+\'-\'+trim(FieldByName(\'tsglbn\').AsString);
  level:=GetNodeLevel(cTreeCodeFormat,curID);
  //这里返回代码的层次数
  if level>0 then

[1] [2] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训