Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
ВнизЗабавный глюк... (наверно у меня...) Найти похожие ветки
← →
AlexSV (2001-12-19 16:39) [14]предыдущее предложение сделал по общему виду.
А теперь решил попробовать.
На форму бросил TreeView.
Самой форме:
procedure TForm1.FormShow(Sender: TObject);
begin
InsertTree(nil, 0);
end;
Собственно TreeView:
procedure TForm1.TVExpanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
Node.DeleteChildren;
InsertTree(Node, Integer(Node.Data));
end;
И саму процедуру:
procedure TForm1.InsertTree(Tec:TTreeNode; Ident:Integer);
Var Rubr:TQuery;
Ne:TTreeNode;
begin
{Занесение}
Rubr:=TQuery.Create(nil);
try
Rubr.databaseName:=".\DB";
Rubr.SQL.Clear;
Rubr.SQL.Add("Select * from DB where Predoc=:Pre order by Ident");
Rubr.Params[0].asInteger:=Ident;
try
Rubr.Open;
While not Rubr.EOF do begin
Ne:=TV.Items.AddChild(Tec, Rubr.FieldByName("Ident").asString+" "+Rubr.FieldByName("Name").asString);
// Вот это я добавил (чтоб привязать как то Ident к Node) Ne.Data := Pointer(Rubr.FieldByName("Ident").asInteger);
InsertTree(Ne, Integer(Ne.Data));
Rubr.Next;
end;
Rubr.Close;
except
ShowMessage("Exeption");
end;
finally
Rubr.Free;
end;
end;
Работает без вопросов (только в таблице записей 15 :( лень набирать больше)
PS: Для скорости приделал таблицу Paradox поэтому проверь настройки Query.
Пока.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c