Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: 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 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
6-1148280538
Тфьу
2006-05-22 10:48
2006.10.15
TIdSMTP при отсылке в теме пишет ерунду...


1-1157127682
gear
2006-09-01 20:21
2006.10.15
Как сделать чтобы открытое PopupMenu не закрывалось при смене...


1-1157211212
Вася
2006-09-02 19:33
2006.10.15
Перехват клавиш


3-1155541687
Term
2006-08-14 11:48
2006.10.15
Разница в скорости работы хранимой процедуры


2-1159384087
ABS
2006-09-27 23:08
2006.10.15
Не получается вычислить оставшееся время