Главная страница
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.046 c
2-1159340524
Alex_C
2006-09-27 11:02
2006.10.15
Пытаюсь рисовать на канве RichEdit. Не получается.


1-1157331654
dwar
2006-09-04 05:00
2006.10.15
Алгоритм парсинга XML


3-1155743896
VadimSpb
2006-08-16 19:58
2006.10.15
Проблема с запросом


15-1158757874
Cyrax
2006-09-20 17:11
2006.10.15
Языковая панель в Windows XP


2-1159605440
gidd
2006-09-30 12:37
2006.10.15
TWebBrowser