Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

Очень надо ускорить работу TreeView   Найти похожие ветки 

 
MikeFW   (2002-06-18 16:33) [0]

Господа,
у меня сложилась следующая ситуация:
Я должен построить максимально удобное меню для работы с стаблицами базы данных (данные в которй можно интерпретировать как древовидную структуру) и использую для этих целей TreeView

использую для этих целей следующий код

while not qType.Eof do
begin
Node := tvPrice.Items.Add(nil, qType.FieldByName("INVTYPEID").Value);
qPrice.First;
while not qPrice.Eof do
begin
tvPrice.Items.AddChild(Node, qPrice.FieldByName("INVKINDID").Value);
qPrice.Next;
end;
qType.Next;
end;

И все хорошо строится, только вот незадача, в первой таблице 1,000 записей а в другой - 1,000,000 и вся операцияя по построению дерева занимает больше часа.

Подскажите, пожалуйста, как можно намного ускорить этот процес?


 
SergSuper   (2002-06-18 17:11) [1]

очевидно не строить всё дерево стразу, а заполнять нужные ветви при их раскрытии, используя соответсвующие эвенты


 
MikeFW   (2002-06-18 17:28) [2]

Подскажите, пожалуйста, как при клике на соответсвующую запись в дереве, передать фокус соответсвующей ей записи в базе данных?


 
aus   (2002-06-18 19:27) [3]

Я пробовал сначала все строки писать в екстовый файл, в формате, который сохраняет TreeView.SaveToFile(...), а потом загружать из файла, намного быстрее...


 
Volj   (2002-06-18 20:53) [4]

"передать фокус соответсвующей ей записи в базе данных" - в поле Data TTreeNode прописывать ID или ссылку на значение уникальной записи. Потом, соответственно, на OnChange смотришь Node.Data и Locate



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

Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
14-47807
GeForce2 MX 400
2002-06-16 20:45
2002.07.15
DLL ы


4-47896
zam
2002-05-15 20:36
2002.07.15
Подскажите, как пользоваться winapi ф-ей ReadFile???


3-47201
stalexo
2002-06-18 21:19
2002.07.15
Порядковый номер записи


3-47077
shiva502
2002-06-21 02:58
2002.07.15
Жутко тупит DataSet на широких таблицах


1-47444
Катерина
2002-07-03 11:56
2002.07.15
try...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский