delphi treeview添加子节点的问题

treeview1.Items.Add(nil,'教师');treeview1.Items.Add(nil,'学生');treeview1.Items.AddChild(... treeview1.Items.Add(nil,'教师');
treeview1.Items.Add(nil,'学生');

treeview1.Items.AddChild(TreeView1.Items[0],'计算机学院');
treeview1.Items.AddChild(TreeView1.Items[0],'人文学院');
treeview1.Items.AddChild(TreeView1.Items[0],'法学院');
treeview1.Items.AddChild(TreeView1.Items[0],'机械学院');
treeview1.Items.AddChild(TreeView1.Items[0],'经贸学院');

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from teachers ');
ADOQuery1.Open;
for i := 0 to adoquery1.recordcount-1 do
begin
str1 := adoquery1.FieldByName('学院').AsString;
str2:=adoquery1.FieldByName('姓名').AsString;
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), trim(str1)));

case strSel of
计算机学院:treeview1.Items.AddChild(TreeView1.Items[0].Item[0],trim(str2));
人文学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[1],trim(str2));
法学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[2],trim(str2));
机械学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[3],trim(str2));
经贸学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[4],trim(str2)) ;
end;
adoquery1.next;
end;

treeview1.Items.AddChild(TreeView1.Items[1],'计算机学院');
treeview1.Items.AddChild(TreeView1.Items[1],'人文学院');
treeview1.Items.AddChild(TreeView1.Items[1],'法学院');
treeview1.Items.AddChild(TreeView1.Items[1],'机械学院');
treeview1.Items.AddChild(TreeView1.Items[1],'经贸学院');

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from students ');
ADOQuery1.Open;
for i := 0 to adoquery1.recordcount-1 do
begin
str1 := adoquery1.FieldByName('学院').AsString;
str2:=adoquery1.FieldByName('姓名').AsString;
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), trim(str1)));

case strSel of
计算机学院:treeview1.Items.AddChild(TreeView1.Items[1].Item[0],trim(str2));
人文学院: treeview1.Items.AddChild(TreeView1.Items[1].Item[1],trim(str2));
法学院: treeview1.Items.AddChild(TreeView1.Items[1].Item[2],trim(str2));
机械学院: treeview1.Items.AddChild(TreeView1.Items[1].Item[3],trim(str2));
经贸学院: treeview1.Items.AddChild(TreeView1.Items[1].Item[4],trim(str2)) ;
end;
adoquery1.next;
end;

我要的效果是:
+教师
+计算机学院
--刘芳
--人文学院
+学生
+计算机学院
--张涛
--人文学院
**************************************
木分了,大伙帮帮忙吧........感激不尽!!!!
用上面的方法,子节点总是添加到教师的上面.......很郁闷,都弄了两天了....
展开
 我来答
叮当猫武汉
2010-05-08 · TA获得超过3739个赞
知道大有可为答主
回答量:744
采纳率:0%
帮助的人:0
展开全部
var
b2:TTreeNode;

treeview1.Items.Add(nil,'教师');
b2:=treeview1.Items.Add(nil,'学生');

treeview1.Items.AddChild(TreeView1.Items[0],'计算机学院');
treeview1.Items.AddChild(TreeView1.Items[0],'人文学院');
treeview1.Items.AddChild(TreeView1.Items[0],'法学院');
treeview1.Items.AddChild(TreeView1.Items[0],'机械学院');
treeview1.Items.AddChild(TreeView1.Items[0],'经贸学院');

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from teachers ');
ADOQuery1.Open;
for i := 0 to adoquery1.recordcount-1 do
begin
str1 := adoquery1.FieldByName('学院').AsString;
str2:=adoquery1.FieldByName('姓名').AsString;
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), trim(str1)));

case strSel of
计算机学院:treeview1.Items.AddChild(TreeView1.Items[0].Item[0],trim(str2));
人文学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[1],trim(str2));
法学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[2],trim(str2));
机械学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[3],trim(str2));
经贸学院: treeview1.Items.AddChild(TreeView1.Items[0].Item[4],trim(str2)) ;
end;
adoquery1.next;
end;

treeview1.Items.AddChild(b2,'计算机学院');
treeview1.Items.AddChild(b2,'人文学院');
treeview1.Items.AddChild(b2,'法学院');
treeview1.Items.AddChild(b2,'机械学院');
treeview1.Items.AddChild(b2,'经贸学院');

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from students ');
ADOQuery1.Open;
for i := 0 to adoquery1.recordcount-1 do
begin
str1 := adoquery1.FieldByName('学院').AsString;
str2:=adoquery1.FieldByName('姓名').AsString;
strSel := TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), trim(str1)));

case strSel of
计算机学院:treeview1.Items.AddChild(b2.Item[0],trim(str2));
人文学院: treeview1.Items.AddChild(b2.Item[1],trim(str2));
法学院: treeview1.Items.AddChild(b2.Item[2],trim(str2));
机械学院: treeview1.Items.AddChild(b2.Item[3],trim(str2));
经贸学院: treeview1.Items.AddChild(b2.Item[4],trim(str2)) ;
end;
adoquery1.next;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式