Вниз
Скачать: CL | DM;

Как сохранить Items в TreeView   Найти похожие ветки 

 
apl   (2006-09-06 13:02) [0]

Подскажите! Есть TreeView отображающий данные из базы данных. Каждый узел дерева содержит объект (TreeNode.Data)
Объекты следующие

type
 TListPrivilege = class(TObject)
   Caption : String;
   kodid : integer;
 private
 public
   constructor Create; virtual;
   ...
 end;

type
 TDefPrivilege = class(TListPrivilege)
   Notes : WideString;
   PersCnt : Longint;
 private
 public
   constructor Create; override;
   ...
 end;


Заполняется дерево как обычно.


var
vk,vks : TTreeNode;
dp,dps : TDefPrivilege;

begin  
 ...
 dp:=TDefPrivilege.Create;
 ....
 vk:=TreeView1.Items.AddObject(nil,dp.GetCaption,dp);
 ...
 dps:=TDefPrivilege.Create;
 ...
 vks:=TreeView1.Items.AddChildObject(vk,dps.GetCaption,dps);
end;


Вся проблема в том, что в этот TreeView заталкивается очень большой справочник нескольких уровней вложенности. Справочник практически не изменяется. Заполняется достаточно заметное время, т.к. приходится выполнять много запросов к базе для каждого узла для каждого уровня вложенности. Попробовал считать весь справочник одним запросом и «ковыряться» в наборе - быстрее, но не особо существенно. Хотел сохранить сформированное дерево в виде файла на диске (SaveToStream (?)), но сохранились только названия из узлов.
Как можно сохранить и объекты из всех узлов для восстановления в последстивии.


 
PSPF2003 ©   (2006-09-06 13:16) [1]


> Как можно сохранить и объекты из всех узлов для восстановления
> в последстивии.

Я сохранил все в XML, а потом загружал.


 
PSPF2003 ©   (2006-09-06 13:18) [2]

Могу пример БД-шный дать.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.039 c
15-1158834569
Дмитрий Белькевич
2006-09-21 14:29
2006.10.15
Как заставить win обновить CD каталог после записи?


1-1156439374
Serega41
2006-08-24 21:09
2006.10.15
Утечки памяти в TShellComboBox


2-1159528840
RebroFF
2006-09-29 15:20
2006.10.15
Корректное отображение кириллицы


2-1159183904
XTD
2006-09-25 15:31
2006.10.15
Как работать с USB?


3-1155278466
wipr
2006-08-11 10:41
2006.10.15
Open and detach




   Наверх