treeview.txt

来自「大量Delphi开发资料」· 文本 代码 · 共 98 行

TXT
98
字号
  Status.Caption := '构造中,请稍候......';
  Update;
  tvMan.Items.BeginUpdate;
  tvMan.Items.Clear;
  tvMan.Items.Add(tvMan.TopItem ,'行政区划树型列表');
  Button1.Enabled := False;
  btnClose.Enabled := False;
  PreparTable;
  i1 := 1;    i2 := 1;
  IntToStr(i1);  IntToStr(i2);
  CunJd.MaxValue := dmClient.cdsQueryCun.RecordCount;
  dmClient.cdsQueryCun.First;
  while not dmClient.cdsQueryCun.Eof do begin
    CunJd.Progress := dmClient.cdsQueryCun.RecNo;
    CunID := dmClient.cdsQueryCun.FieldByName('CUNID').AsString;
    NOdeTop := tvMan.Items.Item[0];
    tvMan.Items.AddChild(
      NodeTop,MidStr(
       dmClient.cdsQueryCUN.FieldByName('CUNNAME').AsString,19,24) +
        '[' + dmClient.cdsQueryCun.FieldByName('CUNID').AsString + ']');
    dmClient.cdsQueryJuWei.Filter := 'JUWEIID LIKE ''' + CUNID + '%''';
    JuWeiJd.MaxValue := dmClient.cdsQueryJuWei.RecordCount;
    IntToStr(i1);  IntToStr(i2);
    i2 := i1;
    dmClient.cdsQueryJuWei.First;
    while not dmClient.cdsQueryJuWei.Eof do begin
      JuWeiJd.Progress := dmClient.cdsQueryJuWei.RecNo;
      NodeChild := tvMan.Items.Item[i2];
      tvMan.Items.AddChild(
        NodeChild,MidStr(
         dmClient.cdsQueryJuWei.FieldByName('JUWEINAME').AsString,25,30) +
           '[' + dmClient.cdsQueryJuWei.FieldByName('JUWEIID').AsString + ']');
      JUWEIID := dmClient.cdsQueryJuWei.FieldByname('JUWEIID').AsString;
      dmClient.cdsQueryAll.Filter := 'A2 LIKE ''' + JUWEIID + '%''';
      ManJd.MaxValue := dmClient.cdsQueryAll.RecordCount;
      i3 := i1 + 1;
      NodeChild2 := tvMan.Items.Item[i3];
      dmClient.cdsQueryAll.First;
      while not dmClient.cdsQueryAll.Eof do begin
        ManJd.Progress := dmClient.cdsQueryAll.RecNo;
        tvMan.Items.AddChild(
          NodeChild2 ,dmClient.cdsQueryAll.FieldByName('A7').AsString +
           '[' + dmClient.cdsQueryAll.FieldByName('A2').AsString + ']');
        dmClient.cdsQueryAll.Next;
        Inc(i1);
      end;
      dmClient.cdsQueryJuWei.Next;
      tvMan.FindNextToSelect;
      inc(i1);
    end;
    dmClient.cdsQueryCun.Next;
    inc(i1);
  end;
  tvMan.Items.EndUpdate;
  Button1.Enabled := True;
  tvMan.SaveToFile(fFax.AppPath + 'Tree.gui');
  Status.Caption := '构造成功!';
  Refresh;
  btnClose.Enabled := True;
  BitBtn2.Enabled := True;














var
  NodeTop,NodeChild:TTreeNode;
  i:integer;
begin
  i:=tvReader.Top;
  NodeTop:=tvReader.TopItem;
  dmTsg.ADOTable1.Refresh;
  dmTsg.adotJieshuzhen.Refresh;
  tvReader.Items.Clear;
  while not dmTsg.ADOTable1.Eof do begin
    tvReader.Items.Add(NodeTop,dmTsg.ADOTable1.FieldByName('班级').AsString);
    NodeChild:=tvReader.GetNodeAt(5,i);
    dmTsg.adotJieshuzhen.First;
    while not dmTsg.adotJieshuzhen.Eof do begin
      if dmTsg.ADOTable1.FieldByName('代号').AsString
        = dmTsg.adotJieshuzhen.FieldByName('班级').AsString then
        tvReader.Items.AddChild(NodeChild
          ,dmTsg.adotJieshuzhen.FieldByName('姓名').AsString);
      dmTsg.adotJieshuzhen.Next;
    end;
    dmTsg.ADOTable1.Next;
    i:=i+15;
  end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?