Create a tree with a data sheet

xiaoxiao2021-03-06  92

Database Structure: Field Type ID Integer Index (No Duplicate) Name Text Father Total // Tree Initialization Procedure TFORM1.MMACTIVATE (Sender: TOBJECT); VAR i: Integer; begin TreeView1.items.BeginUpdate; While Not (adotable1.eof ) do begin if ADOTable1.FieldValues ​​[ 'father'] = 0 then treeview1.Items.addchild (treeview1.DropTarget, ADOTable1.FieldValues ​​[ 'name']) else begin i: = 0; repeat if treeview1.Items.Item [i ] .Text = adotable1.lookup ('id', adotable1.fieldvalues ​​['father'], 'name') Then Begin TreeView1.Items.addchild (TreeView1.Items.Item [I], adotable1.fieldvalues ​​['name'] Break; end; i: = i 1; Until I> adotable1.recordcount; end; adotable1.next; end; treeview1.items.endupdate;

// tree adding procedure TForm1.Button1Click (Sender: TObject); var i: integer; begin adotable1.Last; i: = adotable1.FieldValues ​​[ 'ID']; if checkbox1.Checked = false then begin adotable1.InsertRecord ([edit1 .Text, adotable1.Lookup ( 'name', treeview1.Selected.Text, 'ID'), i 1]); treeview1.Items.AddChild (treeview1.Selected, edit1.Text); end else begin adotable1.InsertRecord ( [edit1.text, 0, i 1]); TreeView1.items.Addchild (TreeView1.dropTarget, Edit1.Text); end;

// tree delete procedure TForm1.Button3Click (Sender: TObject); begin if treeview1.Selected.HasChildren then begin showmessage ( 'containing child can not be deleted.'); Abort; end; begin adotable1.Locate ( 'name', treeview1 .Selected.Text, [loPartialKey]); adotable1.delete; TreeView1.items.delete (TreeView1.Selected); end;

// tree icon procedure TForm1.TreeView1GetImageIndex (Sender: TObject; Node: TTreeNode); begin if Node.Expanded then Node.ImageIndex: = 1 else Node.ImageIndex: = 0end; // tree icon procedure TForm1.TreeView1GetSelectedIndex (Sender: TObject ; Node: ttreenode; begin node.selectedIndex: = node.imageindex;

// list initialization procedure TForm1.TreeView1MouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var p: pointer; begin listview1.Items.Clear; if adotable2.Locate ( 'class', adotable1 .Lookup ('name', treeview1.selected.text, 'id'), [loPartialKey]) = true kilin p: = listview1.items.add; listview1.Items.Item [listview1.items.indexof (p)] .Caption: = adotable2.fieldvalues ​​['name']; listview1.items.Item [listview1.items.indexof (p)]. Subitems.add (adotable2.fieldvalues ​​['URL']); end; end;

// list Add procedure tform1.button2click (sender: Tobject); var P: Pointer; Begin P: = listview1.items.add; listview1.items.Item [listview1.items.indexOf (p)]. Caption: = Edit2. TEXT; listview1.items.Item [listview1.items.indexof (p)]. Subitems.add (edit3.text); adotable2.insertrecord ([adotable1.lookup ('name', treeview1.selected.text, 'id') Edit2.text, edit3.text];

// list Delete procedure TForm1.Button4Click (Sender: TObject); begin adotable2.Locate ( 'name', listview1.Selected.Caption, [loPartialKey]); adotable2.Delete; listview1.Selected.Delete; end;

转载请注明原文地址:https://www.9cbs.com/read-96523.html

New Post(0)