delphi树的使用
怎么实现树的增删改。
假设
父节点分别为:金融专业,财会专业
子节点是:金融专业对应的几个班级,财会专业对应的几个班级
现在就想增加,修改或者删除一个专业,或者是增加几个班级。
要怎么实现?
怎么实现树的增删改。
假设
父节点分别为:金融专业,财会专业
子节点是:金融专业对应的几个班级,财会专业对应的几个班级
现在就想增加,修改或者删除一个专业,或者是增加几个班级。
要怎么实现?
答案:楼主看下我以前做的,对照一下,有些类似
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ComCtrls;type
TForm1 = class(TForm)
TreeView1: TTreeView;
DBGrid1: TDBGrid;
procedure FormShow(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure treev(treeview : Ttreeview);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses unit2;{$R *.dfm}
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected.Level = 0 then
begin
with data_m.ADOQ_grades do
begin
close;
sql.Clear;
sql.add('select grades.studentid,courseid,name,grade from grades,students where students.studentid = grades.studentid');
open;
end;
end
else
begin
with data_m.ADOQ_grades do
begin
close;
sql.Clear;
sql.add('select * from grades where studentid = :a');
parameters.ParamByName('a').Value := copy(treeview1.Selected.Text, 1 , 6);
open;
end;
end;
end;procedure TForm1.FormShow(Sender: TObject);
begin
treev(treeview1);
end;procedure TForm1.treev(treeview : Ttreeview);
VAR
node : TTreenode;
depart : string;
departid : string;
begin
with data_m.ADOQ_codes do
begin
close;
sql.Clear;
sql.Add('select * from codes');
open;
first;
node := treeview.Items.GetFirstNode;
while not eof do
begin
depart := fieldbyname('department').Value;
departid := fieldbyname('departmentid').Value;
node := treeview.Items.Add(node, depart);
with data_m.ADOQ_student do
begin
close;
sql.Clear;
sql.add('select * from students where departmentid =:a');
parameters.ParamByName('a').Value := departid;
open;
first;
while not eof do
begin
treeview.Items.AddChild(node, fieldvalues['studentid']+fieldvalues['name']);
next;
end;
end;
next;
end;
end;
treeview1.FullExpand;
end;end.
上一个:Delphi求帮编程
下一个:delphi数据库问题ADODataSet