Главная страница
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.03 c
1-1157572502
dexer
2006-09-06 23:55
2006.10.15
Создание формы в нутри объекта


2-1159361585
Alex_C
2006-09-27 16:53
2006.10.15
Как узнать 1 и последнюю видимую строку в Memo?


2-1159191901
svt
2006-09-25 17:45
2006.10.15
Мастера, подскажите как сделать так, чтобы с DBGrid работал


15-1158848336
GeLLeR
2006-09-21 18:18
2006.10.15
Ассемблер


1-1157523050
DmiSb
2006-09-06 10:10
2006.10.15
Как программно открыть календарь у TDateTimePicker ?