Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Очень надо ускорить работу 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;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.015 c
3-47221
Я_Чайник
2002-06-20 08:56
2002.07.15
Неповторяющиеся данные в DBGrid


1-47291
. : Andrey : .
2002-06-30 14:59
2002.07.15
Ссылка в Memo


4-47899
Alexander
2002-05-16 02:49
2002.07.15
Как поменять курсор? С LoadCursor и SetCursor разобрался, но


3-47155
Dark Programmer
2002-06-18 06:46
2002.07.15
Извените если достал тупыми вопросами...еще разочек помогите


8-47609
Саня
2002-02-28 14:00
2002.07.15
Как вырезать кадр из AVI





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский