Текущий архив: 2003.09.29;
Скачать: CL | DM;
Вниз
Загрузка дерева Найти похожие ветки
← →
killer_john © (2003-09-09 05:54) [0]Как загрузить в компонент TreeView иерархическую структуру из базы, в которой она содержится( mssql).
← →
Radionov Alexey © (2003-09-09 08:15) [1]Смотря как она (структура)там хранится.
Поищи в инете TDBTreeView и посмотри как он это делает :)
← →
HSolo © (2003-09-09 09:02) [2]http://delphi.vitpc.com/helloworld/dbtreeview.htm
← →
Virgis (2003-09-09 09:52) [3]Я делал так:
таблица Place такова:
ID (идентификатор)
ParentID (идентификатор родителя)
PlaceName (название места)
procedure TForm1.FormShow(Sender: TObject);
begin
if Form1.DB.Connected then FillTreeView(nil);
end;
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean);
begin
if Node.Count=0 then FillTreeView(Node);
end;
procedure TF_Diafragmos.FillTreeView(node:TTreeNode);
var subNode:TTreeNode;val:pTWord;
begin
subNode:=nil;
if node=nil then
Query1.SQL.Add("select * from Place where ParentID is null")
else
Query1.SQL.Add("select * from Place where ParentID="+IntToStr(pTWord(Node.Data)^));
Query1.Open;
Query1.First;
while not Query1.Eof do
begin
New(val);
val^:=Query1.Fields.FieldByNumber(1).Value;
subNode:=TreeView1.Items.AddChildObject(node,Query1.Fields.FieldByNumber(3).Value,val);
subNode.ImageIndex:=0;
subNode.SelectedIndex:=1;
subNode.HasChildren:=true;
Query1.Next;
end;
if subNode=nil then node.HasChildren:=false;
Query1.SQL.Clear;
Query1.Close;
end;
← →
Nucl © (2003-09-09 16:55) [4]смотря как хранится дерево в базе, если в иерархии таблиц то читаешь мастера и перебираешь его записи, для каждой записи читаешь ее детей и т.д.
Если в одной таблице то сканируешь по столбцам.
Страницы: 1 вся ветка
Текущий архив: 2003.09.29;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.02 c