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;
我要的效果是:
+教师
+计算机学院
--刘芳
--人文学院
+学生
+计算机学院
--张涛
--人文学院
**************************************
木分了,大伙帮帮忙吧........感激不尽!!!!
用上面的方法,子节点总是添加到教师的上面.......很郁闷,都弄了两天了.... 展开
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;
我要的效果是:
+教师
+计算机学院
--刘芳
--人文学院
+学生
+计算机学院
--张涛
--人文学院
**************************************
木分了,大伙帮帮忙吧........感激不尽!!!!
用上面的方法,子节点总是添加到教师的上面.......很郁闷,都弄了两天了.... 展开
1个回答
展开全部
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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询